mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-09-08 11:03:28 +02:00
Bug 559674: Migrating from a ILanguageSettingsProvider implementation to IIndexerInfoConsumer (4/6)
Adjust core tests to new implementation. This is piece four of change https://git.eclipse.org/r/c/159828 being split into pieces. Splitting is done for code reviewing reasons. Change-Id: I925fd5e56cbf6bf3e6d14322c738c0ff412b8b1d Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
This commit is contained in:
parent
f80235d0e0
commit
636691a404
9 changed files with 315 additions and 578 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2015 Martin Weber.
|
* Copyright (c) 2015-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -11,9 +11,7 @@ package org.eclipse.cdt.cmake.is.core.internal;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.IncludePath_C_POSIX;
|
import org.eclipse.cdt.cmake.is.core.Arglets.IncludePath_C_POSIX;
|
||||||
import org.eclipse.cdt.cmake.is.core.IArglet.IParseContext;
|
import org.eclipse.cdt.cmake.is.core.IArglet.IArgumentCollector;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -36,178 +34,141 @@ public class IncludePath_C_POSIXTest {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link IncludePath_C_POSIX#processArgument(IParseContext, IPath, java.lang.String)}
|
* {@link IncludePath_C_POSIX#processArgument(IArgumentCollector, IPath, java.lang.String)}
|
||||||
* .
|
* .
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testProcessArgument() {
|
public final void testProcessArgument() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
String name = "/an/Include/Path";
|
String name = "/an/Include/Path";
|
||||||
IPath cwd = new Path("");
|
IPath cwd = new Path("");
|
||||||
// -I/an/Include/Path
|
// -I/an/Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I'/an/Include/Path'
|
// -I'/an/Include/Path'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-I" + "'" + name + "'" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-I" + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I"/an/Include/Path"
|
// -I"/an/Include/Path"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-I" + "\"" + name + "\"" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-I" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
// -I /an/Include/Path
|
// -I /an/Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 3, testee.processArgument(entries, cwd, "-I " + name + more));
|
assertEquals(2 + name.length() + 3, testee.processArgument(result, cwd, "-I " + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I '/an/Include/Path'
|
// -I '/an/Include/Path'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 3 + 2,
|
assertEquals(2 + name.length() + 3 + 2, testee.processArgument(result, cwd, "-I " + "'" + name + "'" + more));
|
||||||
testee.processArgument(entries, cwd, "-I " + "'" + name + "'" + more));
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I "/an/Include/Path"
|
// -I "/an/Include/Path"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 3 + 2,
|
assertEquals(2 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-I " + "\"" + name + "\"" + more));
|
testee.processArgument(result, cwd, "-I " + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("A:an\\Include/Path")).toOSString();
|
name = (new Path("A:an\\Include/Path")).toOSString();
|
||||||
// -IA:an\Include/Path
|
// -IA:an\Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link IncludePath_C_POSIX#processArgument(IParseContext, IPath, java.lang.String)}
|
* {@link IncludePath_C_POSIX#processArgument(IArgumentCollector, IPath, java.lang.String)}
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testProcessArgument_WS() {
|
public final void testProcessArgument_WS() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries = new ParseContext();
|
ParseContext result = new ParseContext();
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
String name = "/ye olde/In clu de/Pa the";
|
String name = "/ye olde/In clu de/Pa the";
|
||||||
IPath cwd = new Path("");
|
IPath cwd = new Path("");
|
||||||
// -I'/ye olde/In clu de/Pa the'
|
// -I'/ye olde/In clu de/Pa the'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-I" + "'" + name + "'" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-I" + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I"/ye olde/In clu de/Pa the"
|
// -I"/ye olde/In clu de/Pa the"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-I" + "\"" + name + "\"" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-I" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
// -I '/ye olde/In clu de/Pa the'
|
// -I '/ye olde/In clu de/Pa the'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 3 + 2,
|
assertEquals(2 + name.length() + 3 + 2, testee.processArgument(result, cwd, "-I " + "'" + name + "'" + more));
|
||||||
testee.processArgument(entries, cwd, "-I " + "'" + name + "'" + more));
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -I "/ye olde/In clu de/Pa the"
|
// -I "/ye olde/In clu de/Pa the"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 3 + 2,
|
assertEquals(2 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-I " + "\"" + name + "\"" + more));
|
testee.processArgument(result, cwd, "-I " + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
||||||
// -I'A:an\In CLU de/Pat h'
|
// -I'A:an\In CLU de/Pat h'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-I" + "\"" + name + "\"" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-I" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link IncludePath_C_POSIX#processArgument(IParseContext, IPath, java.lang.String)}
|
* {@link IncludePath_C_POSIX#processArgument(IArgumentCollector, IPath, java.lang.String)}
|
||||||
* .
|
* .
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testProcessArgument_RelativePath() {
|
public final void testProcessArgument_RelativePath() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
String name = (new Path("a/relative/Include/Path")).toOSString();
|
String name = (new Path("a/relative/Include/Path")).toOSString();
|
||||||
IPath cwd = new Path("/compiler/working/dir");
|
IPath cwd = new Path("/compiler/working/dir");
|
||||||
ParseContext entries = new ParseContext();
|
ParseContext result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
String absPath = cwd.append(name).toString();
|
String absPath = cwd.append(name).toString();
|
||||||
assertEquals("name", absPath, parsed.getName());
|
assertEquals("name", absPath, result.getIncludePaths().get(0));
|
||||||
|
|
||||||
name = (new Path("a\\relative\\Include\\Path")).toOSString();
|
name = (new Path("a\\relative\\Include\\Path")).toOSString();
|
||||||
cwd = new Path("\\compiler\\working\\dir");
|
cwd = new Path("\\compiler\\working\\dir");
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
absPath = cwd.append(name).toString();
|
absPath = cwd.append(name).toString();
|
||||||
assertEquals("name", absPath, parsed.getName());
|
assertEquals("name", absPath, result.getIncludePaths().get(0));
|
||||||
|
|
||||||
name = (new Path("../../src/Include/Path")).toOSString();
|
name = (new Path("../../src/Include/Path")).toOSString();
|
||||||
cwd = new Path("/compiler/working/dir");
|
cwd = new Path("/compiler/working/dir");
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
absPath = cwd.append(name).toString();
|
absPath = cwd.append(name).toString();
|
||||||
assertEquals("name", absPath, parsed.getName());
|
assertEquals("name", absPath, result.getIncludePaths().get(0));
|
||||||
|
|
||||||
name = (new Path("..\\..\\src\\Include\\Path")).toOSString();
|
name = (new Path("..\\..\\src\\Include\\Path")).toOSString();
|
||||||
cwd = new Path("\\compiler\\working\\dir");
|
cwd = new Path("\\compiler\\working\\dir");
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-I" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-I" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
absPath = cwd.append(name).toString();
|
absPath = cwd.append(name).toString();
|
||||||
assertEquals("name", absPath, parsed.getName());
|
assertEquals("name", absPath, result.getIncludePaths().get(0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2015 Martin Weber.
|
* Copyright (c) 2015-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -9,11 +9,12 @@
|
||||||
package org.eclipse.cdt.cmake.is.core.internal;
|
package org.eclipse.cdt.cmake.is.core.internal;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets;
|
import org.eclipse.cdt.cmake.is.core.Arglets;
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.MacroDefine_C_POSIX;
|
import org.eclipse.cdt.cmake.is.core.Arglets.MacroDefine_C_POSIX;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -41,8 +42,7 @@ public class MacroDefine_C_POSIXTest {
|
||||||
public final void testProcessArgument() {
|
public final void testProcessArgument() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
int len;
|
int len;
|
||||||
|
@ -50,23 +50,17 @@ public class MacroDefine_C_POSIXTest {
|
||||||
String name = "FOO";
|
String name = "FOO";
|
||||||
String arg = "-D" + name;
|
String arg = "-D" + name;
|
||||||
|
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", "", result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", "", parsed.getValue());
|
|
||||||
assertEquals(2 + name.length(), len);
|
assertEquals(2 + name.length(), len);
|
||||||
// -D FOO
|
// -D FOO
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
arg = "-D " + name;
|
arg = "-D " + name;
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", "", result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", "", parsed.getValue());
|
|
||||||
assertEquals(2 + name.length() + 3, len);
|
assertEquals(2 + name.length() + 3, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,52 +71,39 @@ public class MacroDefine_C_POSIXTest {
|
||||||
public final void testProcessArgument_Value() {
|
public final void testProcessArgument_Value() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
final String name = "FOO";
|
final String name = "FOO";
|
||||||
String val = "noWhiteSpace";
|
String val = "noWhiteSpace";
|
||||||
|
|
||||||
// -DFOO=noWhiteSpace
|
// -DFOO=noWhiteSpace
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 1 + val.length(),
|
assertEquals(2 + name.length() + 1 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D" + name + "=" + val + more));
|
testee.processArgument(result, cwd, "-D" + name + "=" + val + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
// -D FOO=noWhiteSpace
|
// -D FOO=noWhiteSpace
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 1 + 3 + val.length(),
|
assertEquals(2 + name.length() + 1 + 3 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D " + name + "=" + val + more));
|
testee.processArgument(result, cwd, "-D " + name + "=" + val + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
|
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
val = "Wh it e s ap ac ";
|
val = "Wh it e s ap ac ";
|
||||||
// -D 'FOO=Wh it e s ap ac '
|
// -D 'FOO=Wh it e s ap ac '
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 1 + 2 + 3 + val.length(),
|
assertEquals(2 + name.length() + 1 + 2 + 3 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D " + "'" + name + "=" + val + "'" + more));
|
testee.processArgument(result, cwd, "-D " + "'" + name + "=" + val + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
// -D "FOO=Wh it e s ap ac "
|
// -D "FOO=Wh it e s ap ac "
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 1 + 2 + 3 + val.length(),
|
assertEquals(2 + name.length() + 1 + 2 + 3 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D " + "\"" + name + "=" + val + "\"" + more));
|
testee.processArgument(result, cwd, "-D " + "\"" + name + "=" + val + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -132,8 +113,7 @@ public class MacroDefine_C_POSIXTest {
|
||||||
public final void testProcessArgument_Value_CharLiteral() {
|
public final void testProcessArgument_Value_CharLiteral() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
int len;
|
int len;
|
||||||
String val, arg;
|
String val, arg;
|
||||||
|
@ -144,90 +124,66 @@ public class MacroDefine_C_POSIXTest {
|
||||||
// -DFOO='noWhiteSpace'
|
// -DFOO='noWhiteSpace'
|
||||||
val = "'noWhiteSpace'";
|
val = "'noWhiteSpace'";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -D FOO='noWhiteSpace'
|
// -D FOO='noWhiteSpace'
|
||||||
arg = "-D " + name + "=" + val;
|
arg = "-D " + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
// -DFOO='noWhite\'escapedQuoteChar' (values with single quotes)
|
// -DFOO='noWhite\'escapedQuoteChar' (values with single quotes)
|
||||||
val = "'noWhite\\'escapedQuoteChar'";
|
val = "'noWhite\\'escapedQuoteChar'";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO='noWhite\\escapedEscapeChar'
|
// -DFOO='noWhite\\escapedEscapeChar'
|
||||||
val = "'noWhite\\\\escapedEscapeChar'";
|
val = "'noWhite\\\\escapedEscapeChar'";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
// -DFOO='Wh it e s ap ac '
|
// -DFOO='Wh it e s ap ac '
|
||||||
val = "'Wh it e s ap ac '";
|
val = "'Wh it e s ap ac '";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -D FOO='Wh it e s ap ac '
|
// -D FOO='Wh it e s ap ac '
|
||||||
arg = "-D " + name + "=" + val;
|
arg = "-D " + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO='Wh it e s ap ac \'escaped Quote Char' (values with single quotes)
|
// -DFOO='Wh it e s ap ac \'escaped Quote Char' (values with single quotes)
|
||||||
val = "'Wh it e s ap ac \\'escaped Quote Char'";
|
val = "'Wh it e s ap ac \\'escaped Quote Char'";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO='Wh it e s ap ac \\escaped Escape Char'
|
// -DFOO='Wh it e s ap ac \\escaped Escape Char'
|
||||||
val = "'Wh it e s ap ac \\\\escaped Escape Char'";
|
val = "'Wh it e s ap ac \\\\escaped Escape Char'";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,8 +194,7 @@ public class MacroDefine_C_POSIXTest {
|
||||||
public final void testProcessArgument_Value_StringLiteral() {
|
public final void testProcessArgument_Value_StringLiteral() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
int len;
|
int len;
|
||||||
String val, arg;
|
String val, arg;
|
||||||
|
@ -249,90 +204,66 @@ public class MacroDefine_C_POSIXTest {
|
||||||
// -DFOO="noWhiteSpace"
|
// -DFOO="noWhiteSpace"
|
||||||
val = "\"noWhiteSpace\"";
|
val = "\"noWhiteSpace\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -D FOO="noWhiteSpace"
|
// -D FOO="noWhiteSpace"
|
||||||
arg = "-D " + name + "=" + val;
|
arg = "-D " + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
// -DFOO="noWhite\"escapedQuoteChar" (values with single quotes)
|
// -DFOO="noWhite\"escapedQuoteChar" (values with single quotes)
|
||||||
val = "\"noWhite\\\"escapedQuoteChar\"";
|
val = "\"noWhite\\\"escapedQuoteChar\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO="noWhite\\escapedEscapeChar"
|
// -DFOO="noWhite\\escapedEscapeChar"
|
||||||
val = "\"noWhite\\\\escapedEscapeChar\"";
|
val = "\"noWhite\\\\escapedEscapeChar\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
// -DFOO="Wh it e s ap ac "
|
// -DFOO="Wh it e s ap ac "
|
||||||
val = "\"Wh it e s ap ac \"";
|
val = "\"Wh it e s ap ac \"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -D FOO="Wh it e s ap ac "
|
// -D FOO="Wh it e s ap ac "
|
||||||
arg = "-D " + name + "=" + val;
|
arg = "-D " + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO="Wh it e s ap ac \"escaped Quote Char" (values with single quotes)
|
// -DFOO="Wh it e s ap ac \"escaped Quote Char" (values with single quotes)
|
||||||
val = "\"Wh it e s ap ac \\\"escaped Quote Char\"";
|
val = "\"Wh it e s ap ac \\\"escaped Quote Char\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
// -DFOO="Wh it e s ap ac \\escaped Escape Char"
|
// -DFOO="Wh it e s ap ac \\escaped Escape Char"
|
||||||
val = "\"Wh it e s ap ac \\\\escaped Escape Char\"";
|
val = "\"Wh it e s ap ac \\\\escaped Escape Char\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
|
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
|
@ -340,14 +271,11 @@ public class MacroDefine_C_POSIXTest {
|
||||||
// -DFOO="2(vtkIOMySQL,vtkIOPostgreSQL)"
|
// -DFOO="2(vtkIOMySQL,vtkIOPostgreSQL)"
|
||||||
val = "\"2(vtkIOMySQL,vtkIOPostgreSQL)\"";
|
val = "\"2(vtkIOMySQL,vtkIOPostgreSQL)\"";
|
||||||
arg = "-D" + name + "=" + val;
|
arg = "-D" + name + "=" + val;
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
len = testee.processArgument(entries, cwd, arg + " " + arg + more);
|
len = testee.processArgument(result, cwd, arg + " " + arg + more);
|
||||||
assertEquals(arg.length(), len);
|
assertEquals(arg.length(), len);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertTrue("found", result.getDefines().containsKey(name));
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -357,8 +285,7 @@ public class MacroDefine_C_POSIXTest {
|
||||||
public final void testProcessArgument_MacroWithArgs() {
|
public final void testProcessArgument_MacroWithArgs() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
// -DFOO=noWhiteSpace
|
// -DFOO=noWhiteSpace
|
||||||
|
@ -367,22 +294,18 @@ public class MacroDefine_C_POSIXTest {
|
||||||
String val = "(a)/((b)+(c))";
|
String val = "(a)/((b)+(c))";
|
||||||
|
|
||||||
// -DFOO(a,b,c)=(a)/((b)+(c))
|
// -DFOO(a,b,c)=(a)/((b)+(c))
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + args.length() + 1 + val.length(),
|
assertEquals(2 + name.length() + args.length() + 1 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D" + name + args + "=" + val + more));
|
testee.processArgument(result, cwd, "-D" + name + args + "=" + val + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
Map<String, String> defines = result.getDefines();
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("#entries", 1, defines.size());
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
// -D FOO(a,b,c)=(a)/((b)+(c))
|
// -D FOO(a,b,c)=(a)/((b)+(c))
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + args.length() + 1 + 3 + val.length(),
|
assertEquals(2 + name.length() + args.length() + 1 + 3 + val.length(),
|
||||||
testee.processArgument(entries, cwd, "-D " + name + args + "=" + val + more));
|
testee.processArgument(result, cwd, "-D " + name + args + "=" + val + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
defines = result.getDefines();
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("#entries", 1, defines.size());
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("value", val, result.getDefines().get(name));
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", val, parsed.getValue());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2015 Martin Weber.
|
* Copyright (c) 2015-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -11,9 +11,7 @@ package org.eclipse.cdt.cmake.is.core.internal;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.MacroUndefine_C_POSIX;
|
import org.eclipse.cdt.cmake.is.core.Arglets.MacroUndefine_C_POSIX;
|
||||||
import org.eclipse.cdt.cmake.is.core.IArglet.IParseContext;
|
import org.eclipse.cdt.cmake.is.core.IArglet.IArgumentCollector;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -36,35 +34,26 @@ public class MacroUndefine_C_POSIXTest {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link MacroUndefine_C_POSIX#processArgument(IParseContext, IPath, java.lang.String)}
|
* {@link MacroUndefine_C_POSIX#processArgument(IArgumentCollector, IPath, java.lang.String)}
|
||||||
* .
|
* .
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testProcessArgument() {
|
public final void testProcessArgument() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
String name = "FOO";
|
String name = "FOO";
|
||||||
// -UFOO
|
// -UFOO
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-U" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-U" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getUndefines().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getUndefines().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("kind", ICSettingEntry.UNDEFINED, (parsed.getFlags() & ICSettingEntry.UNDEFINED));
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", "", parsed.getValue());
|
|
||||||
// -U FOO
|
// -U FOO
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + 2 + name.length(), testee.processArgument(entries, cwd, "-U " + name + more));
|
assertEquals(2 + 2 + name.length(), testee.processArgument(result, cwd, "-U " + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getUndefines().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getUndefines().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("kind", ICSettingEntry.UNDEFINED, (parsed.getFlags() & ICSettingEntry.UNDEFINED));
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
assertEquals("value", "", parsed.getValue());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2016-2018 Martin Weber.
|
* Copyright (c) 2016-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -31,9 +31,6 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/clang -C blah.c",
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/clang -C blah.c",
|
||||||
null, true);
|
null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -41,9 +38,6 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/clang++ -C blah.c",
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/clang++ -C blah.c",
|
||||||
null, true);
|
null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -51,9 +45,6 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("clang++ -C blah.c", null,
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("clang++ -C blah.c", null,
|
||||||
false);
|
false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -66,15 +57,9 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection
|
ParserDetection.ParserDetectionResult result = ParserDetection
|
||||||
.determineDetector("/usr/bin/arm-none-eabi-gcc -C blah.c", null, true);
|
.determineDetector("/usr/bin/arm-none-eabi-gcc -C blah.c", null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-gcc.exe -C blah.c", null, true);
|
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-gcc.exe -C blah.c", null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -84,16 +69,10 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection
|
ParserDetection.ParserDetectionResult result = ParserDetection
|
||||||
.determineDetector("/usr/bin/arm-none-eabi-gcc-9.2.0 -C blah.c", versionSuffixRegex, true);
|
.determineDetector("/usr/bin/arm-none-eabi-gcc-9.2.0 -C blah.c", versionSuffixRegex, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-gcc-9.2.0.exe -C blah.c", versionSuffixRegex,
|
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-gcc-9.2.0.exe -C blah.c", versionSuffixRegex,
|
||||||
true);
|
true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,15 +83,9 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection
|
ParserDetection.ParserDetectionResult result = ParserDetection
|
||||||
.determineDetector("/usr/bin/arm-none-eabi-g++ -C blah.c", null, true);
|
.determineDetector("/usr/bin/arm-none-eabi-g++ -C blah.c", null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-g++.exe -C blah.c", null, true);
|
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-g++.exe -C blah.c", null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -125,16 +98,10 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection
|
ParserDetection.ParserDetectionResult result = ParserDetection
|
||||||
.determineDetector("/usr/bin/arm-none-eabi-g++-9.2.0 -C blah.c", versionSuffixRegex, true);
|
.determineDetector("/usr/bin/arm-none-eabi-g++-9.2.0 -C blah.c", versionSuffixRegex, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-g++-9.2.0.exe -C blah.c", versionSuffixRegex,
|
result = ParserDetection.determineDetector("/usr/bin/arm-none-eabi-g++-9.2.0.exe -C blah.c", versionSuffixRegex,
|
||||||
true);
|
true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -145,15 +112,9 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("arm-none-eabi-g++ -C blah.c",
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("arm-none-eabi-g++ -C blah.c",
|
||||||
null, false);
|
null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("arm-none-eabi-g++.exe -C blah.c", null, false);
|
result = ParserDetection.determineDetector("arm-none-eabi-g++.exe -C blah.c", null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -162,9 +123,6 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection
|
ParserDetection.ParserDetectionResult result = ParserDetection
|
||||||
.determineDetector("C:\\PROGRA2\\Atmel\\AVR8-G1\\bin\\AVR-G_~1.EXE -C blah.c", null, true);
|
.determineDetector("C:\\PROGRA2\\Atmel\\AVR8-G1\\bin\\AVR-G_~1.EXE -C blah.c", null, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("C", "org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -174,48 +132,36 @@ public class ParserDetectionTest {
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/cc-4.1 -C blah.c",
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector("/usr/bin/cc-4.1 -C blah.c",
|
||||||
versionSuffixRegex, false);
|
versionSuffixRegex, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/cc-4.1.exe -C blah.c", versionSuffixRegex, true);
|
result = ParserDetection.determineDetector("/usr/bin/cc-4.1.exe -C blah.c", versionSuffixRegex, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C parser
|
|
||||||
assertEquals("org.eclipse.cdt.core.gcc",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/c++-4.1 -C blah.c", versionSuffixRegex, false);
|
result = ParserDetection.determineDetector("/usr/bin/c++-4.1 -C blah.c", versionSuffixRegex, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/usr/bin/c++-4.1.exe -C blah.c", versionSuffixRegex, true);
|
result = ParserDetection.determineDetector("/usr/bin/c++-4.1.exe -C blah.c", versionSuffixRegex, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
// clang for issue #43
|
// clang for issue #43
|
||||||
result = ParserDetection.determineDetector("/usr/local/bin/clang++40 -C blah.c", versionSuffixRegex, false);
|
result = ParserDetection.determineDetector("/usr/local/bin/clang++40 -C blah.c", versionSuffixRegex, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
assertEquals("org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
result = ParserDetection.determineDetector("/usr/local/bin/clang++40 -C blah.c", "40", false);
|
result = ParserDetection.determineDetector("/usr/local/bin/clang++40 -C blah.c", "40", false);
|
||||||
// result = ParserDetection.determineDetector("/usr/local/bin/clang++40 -I/home/me/workspace/first/test/../utility -I/home/me/workspace/first/test/../include -I/home/me/workspace/first/test -g -std=c++1y -stdlib=libc++ -include-pch /home/me/workspace/first/build/Debug/test/catch.hpp.pch -include-pch /home/me/workspace/first/build/Debug/test/pch.hpp.pch -o CMakeFiles/first_test.test.dir/__/utility/fun.cpp.o -c /home/me/workspace/first/utility/fun.cpp",
|
// result = ParserDetection.determineDetector("/usr/local/bin/clang++40
|
||||||
// "40", false);
|
// -I/home/me/workspace/first/test/../utility
|
||||||
|
// -I/home/me/workspace/first/test/../include -I/home/me/workspace/first/test -g
|
||||||
|
// -std=c++1y -stdlib=libc++ -include-pch
|
||||||
|
// /home/me/workspace/first/build/Debug/test/catch.hpp.pch -include-pch
|
||||||
|
// /home/me/workspace/first/build/Debug/test/pch.hpp.pch -o
|
||||||
|
// CMakeFiles/first_test.test.dir/__/utility/fun.cpp.o -c
|
||||||
|
// /home/me/workspace/first/utility/fun.cpp",
|
||||||
|
// "40", false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
assertEquals("org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("c"));
|
|
||||||
|
|
||||||
result = ParserDetection.determineDetector("/apps/tools/cent_os72/binlinks/g++-7.1 "
|
result = ParserDetection.determineDetector("/apps/tools/cent_os72/binlinks/g++-7.1 "
|
||||||
+ "-I/apps/tools/cent_os72/thirdparty/boost/boost_1_64_0/include "
|
+ "-I/apps/tools/cent_os72/thirdparty/boost/boost_1_64_0/include "
|
||||||
+ "-I/home/XXX/repositories/bepa/common/include -g -Wall "
|
+ "-I/home/XXX/repositories/bepa/common/include -g -Wall "
|
||||||
+ "-c /home/XXX/repositories/bepa/common/settings/src/settings.cpp", versionSuffixRegex, true);
|
+ "-c /home/XXX/repositories/bepa/common/settings/src/settings.cpp", versionSuffixRegex, true);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("cpp"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2016-2017 Martin Weber.
|
* Copyright (c) 2016-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -11,17 +11,9 @@ package org.eclipse.cdt.cmake.is.core.internal;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.language.settings.providers.CompileCommandsJsonParser;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
|
||||||
* @author weber
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class ParserLookupResultTest {
|
public class ParserLookupResultTest {
|
||||||
|
|
||||||
CompileCommandsJsonParser testee = new CompileCommandsJsonParser();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link org.eclipse.cdt.cmake.is.core.internal.ParserDetection#determineDetector(String, String,boolean)}
|
* {@link org.eclipse.cdt.cmake.is.core.internal.ParserDetection#determineDetector(String, String,boolean)}
|
||||||
|
@ -52,9 +44,6 @@ public class ParserLookupResultTest {
|
||||||
String cmd = compiler + " " + args;
|
String cmd = compiler + " " + args;
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector(cmd, null, false);
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector(cmd, null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("cpp"));
|
|
||||||
assertEquals("reducedCommandLine", args, result.getReducedCommandLine());
|
assertEquals("reducedCommandLine", args, result.getReducedCommandLine());
|
||||||
|
|
||||||
// test without leading path
|
// test without leading path
|
||||||
|
@ -62,9 +51,6 @@ public class ParserLookupResultTest {
|
||||||
cmd = compiler + " " + args;
|
cmd = compiler + " " + args;
|
||||||
result = ParserDetection.determineDetector(cmd, null, false);
|
result = ParserDetection.determineDetector(cmd, null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("cpp"));
|
|
||||||
assertEquals("reducedCommandLine", args, result.getReducedCommandLine());
|
assertEquals("reducedCommandLine", args, result.getReducedCommandLine());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,9 +68,6 @@ public class ParserLookupResultTest {
|
||||||
String cmd = compiler + " " + args;
|
String cmd = compiler + " " + args;
|
||||||
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector(cmd, null, false);
|
ParserDetection.ParserDetectionResult result = ParserDetection.determineDetector(cmd, null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("cpp"));
|
|
||||||
assertEquals("command", compiler, result.getCommandLine().getCommand());
|
assertEquals("command", compiler, result.getCommandLine().getCommand());
|
||||||
assertEquals("args", args, result.getCommandLine().getArguments());
|
assertEquals("args", args, result.getCommandLine().getArguments());
|
||||||
|
|
||||||
|
@ -93,9 +76,6 @@ public class ParserLookupResultTest {
|
||||||
cmd = compiler + " " + args;
|
cmd = compiler + " " + args;
|
||||||
result = ParserDetection.determineDetector(cmd, null, false);
|
result = ParserDetection.determineDetector(cmd, null, false);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
// verify that we got a C++ parser
|
|
||||||
assertEquals("C++", "org.eclipse.cdt.core.g++",
|
|
||||||
result.getDetectorWithMethod().getToolDetectionParticipant().getParser().getLanguageId("cpp"));
|
|
||||||
assertEquals("command", compiler, result.getCommandLine().getCommand());
|
assertEquals("command", compiler, result.getCommandLine().getCommand());
|
||||||
assertEquals("args", args, result.getCommandLine().getArguments());
|
assertEquals("args", args, result.getCommandLine().getArguments());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2015-2018 Martin Weber.
|
* Copyright (c) 2015-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -12,9 +12,7 @@ import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.IncludePath_C_POSIX;
|
import org.eclipse.cdt.cmake.is.core.Arglets.IncludePath_C_POSIX;
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.SystemIncludePath_C;
|
import org.eclipse.cdt.cmake.is.core.Arglets.SystemIncludePath_C;
|
||||||
import org.eclipse.cdt.cmake.is.core.IArglet.IParseContext;
|
import org.eclipse.cdt.cmake.is.core.IArglet.IArgumentCollector;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -39,110 +37,88 @@ public class SystemIncludePath_C_Test {
|
||||||
public final void testProcessArgument() {
|
public final void testProcessArgument() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
String name = "/an/Include/Path";
|
String name = "/an/Include/Path";
|
||||||
|
|
||||||
// -isystem /an/Include/Path
|
// -isystem /an/Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 3, testee.processArgument(entries, cwd, "-isystem " + name + more));
|
assertEquals(8 + name.length() + 3, testee.processArgument(result, cwd, "-isystem " + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -isystem '/an/Include/Path'
|
// -isystem '/an/Include/Path'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 3 + 2,
|
assertEquals(8 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-isystem " + "'" + name + "'" + more));
|
testee.processArgument(result, cwd, "-isystem " + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -isystem "/an/Include/Path"
|
// -isystem "/an/Include/Path"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 3 + 2,
|
assertEquals(8 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-isystem " + "\"" + name + "\"" + more));
|
testee.processArgument(result, cwd, "-isystem " + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("A:an\\Include/Path")).toOSString();
|
name = (new Path("A:an\\Include/Path")).toOSString();
|
||||||
// -isystem A:an\Include/Path
|
// -isystem A:an\Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + 1 + name.length(), testee.processArgument(entries, cwd, "-isystem " + name + more));
|
assertEquals(8 + 1 + name.length(), testee.processArgument(result, cwd, "-isystem " + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
// -isystemA:an\Include/Path
|
// -isystemA:an\Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length(), testee.processArgument(entries, cwd, "-isystem" + name + more));
|
assertEquals(8 + name.length(), testee.processArgument(result, cwd, "-isystem" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for
|
* Test method for
|
||||||
* {@link IncludePath_C_POSIX#processArgument(IParseContext, IPath, java.lang.String)}
|
* {@link IncludePath_C_POSIX#processArgument(IArgumentCollector, IPath, java.lang.String)}
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testProcessArgument_WS() {
|
public final void testProcessArgument_WS() {
|
||||||
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
final String more = " -g -MMD -MT CMakeFiles/execut1.dir/util1.c.o -MF \"CMakeFiles/execut1.dir/util1.c.o.d\""
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
String name = "/ye olde/In clu de/Pa the";
|
String name = "/ye olde/In clu de/Pa the";
|
||||||
// -isystem '/ye olde/In clu de/Pa the'
|
// -isystem '/ye olde/In clu de/Pa the'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 3 + 2,
|
assertEquals(8 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-isystem " + "'" + name + "'" + more));
|
testee.processArgument(result, cwd, "-isystem " + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -isystem "/ye olde/In clu de/Pa the"
|
// -isystem "/ye olde/In clu de/Pa the"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 3 + 2,
|
assertEquals(8 + name.length() + 3 + 2,
|
||||||
testee.processArgument(entries, cwd, "-isystem " + "\"" + name + "\"" + more));
|
testee.processArgument(result, cwd, "-isystem " + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
||||||
// -isystem"A:an\In CLU de/Pat h"
|
// -isystem"A:an\In CLU de/Pat h"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 2,
|
assertEquals(8 + name.length() + 2,
|
||||||
testee.processArgument(entries, cwd, "-isystem" + "\"" + name + "\"" + more));
|
testee.processArgument(result, cwd, "-isystem" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
// -isystem'A:an\In CLU de/Pat h'
|
// -isystem'A:an\In CLU de/Pat h'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length() + 2, testee.processArgument(entries, cwd, "-isystem" + "'" + name + "'" + more));
|
assertEquals(8 + name.length() + 2, testee.processArgument(result, cwd, "-isystem" + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("/Inc/CLUde/Path")).toOSString();
|
name = (new Path("/Inc/CLUde/Path")).toOSString();
|
||||||
// -isystem/Inc/CLUde/Path
|
// -isystem/Inc/CLUde/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(8 + name.length(), testee.processArgument(entries, cwd, "-isystem" + name + more));
|
assertEquals(8 + name.length(), testee.processArgument(result, cwd, "-isystem" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2019 Martin Weber.
|
* Copyright (c) 2019-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -12,7 +12,6 @@ import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.Arglets.SystemIncludePath_armcc;
|
import org.eclipse.cdt.cmake.is.core.Arglets.SystemIncludePath_armcc;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -37,50 +36,40 @@ public class SystemIncludePath_armcc_Test {
|
||||||
public final void testProcessArgument() {
|
public final void testProcessArgument() {
|
||||||
final String more = " -g "
|
final String more = " -g "
|
||||||
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
+ " -o CMakeFiles/execut1.dir/util1.c.o -c /testprojects/C-subsrc/src/src-sub/main1.c";
|
||||||
ParseContext entries;
|
ParseContext result;
|
||||||
ICLanguageSettingEntry parsed;
|
ICLanguageSettingEntry parsed;
|
||||||
final IPath cwd = new Path("");
|
final IPath cwd = new Path("");
|
||||||
|
|
||||||
String name = "/an/Include/Path";
|
String name = "/an/Include/Path";
|
||||||
|
|
||||||
// -J/an/Include/Path
|
// -J/an/Include/Path
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length(), testee.processArgument(entries, cwd, "-J" + name + more));
|
assertEquals(2 + name.length(), testee.processArgument(result, cwd, "-J" + name + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -J'/an/Include/Path'
|
// -J'/an/Include/Path'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-J" + "'" + name + "'" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-J" + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
// -J"/an/Include/Path"
|
// -J"/an/Include/Path"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-J" + "\"" + name + "\"" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-J" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
name = (new Path("A:an\\In CLU de/Pat h")).toOSString();
|
||||||
// -J"A:an\In CLU de/Pat h"
|
// -J"A:an\In CLU de/Pat h"
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-J" + "\"" + name + "\"" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-J" + "\"" + name + "\"" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
|
|
||||||
// -J'A:an\In CLU de/Pat h'
|
// -J'A:an\In CLU de/Pat h'
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
assertEquals(2 + name.length() + 2, testee.processArgument(entries, cwd, "-J" + "'" + name + "'" + more));
|
assertEquals(2 + name.length() + 2, testee.processArgument(result, cwd, "-J" + "'" + name + "'" + more));
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#entries", 1, result.getSystemIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getSystemIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2015 Martin Weber.
|
* Copyright (c) 2015-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -9,6 +9,7 @@
|
||||||
package org.eclipse.cdt.cmake.is.core.internal;
|
package org.eclipse.cdt.cmake.is.core.internal;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
|
@ -19,8 +20,6 @@ import org.eclipse.cdt.cmake.is.core.Arglets;
|
||||||
import org.eclipse.cdt.cmake.is.core.DefaultToolCommandlineParser;
|
import org.eclipse.cdt.cmake.is.core.DefaultToolCommandlineParser;
|
||||||
import org.eclipse.cdt.cmake.is.core.IToolCommandlineParser;
|
import org.eclipse.cdt.cmake.is.core.IToolCommandlineParser;
|
||||||
import org.eclipse.cdt.cmake.is.core.ResponseFileArglets;
|
import org.eclipse.cdt.cmake.is.core.ResponseFileArglets;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -33,14 +32,13 @@ public class ToolCommandlineParserTest {
|
||||||
@Test
|
@Test
|
||||||
public final void testResponseFileArgumentParser_At() throws Exception {
|
public final void testResponseFileArgumentParser_At() throws Exception {
|
||||||
|
|
||||||
DefaultToolCommandlineParser testee = new DefaultToolCommandlineParser("egal", new ResponseFileArglets.At(),
|
DefaultToolCommandlineParser testee = new DefaultToolCommandlineParser(new ResponseFileArglets.At(), null,
|
||||||
null, new Arglets.IncludePath_C_POSIX(), new Arglets.MacroDefine_C_POSIX());
|
new Arglets.IncludePath_C_POSIX(), new Arglets.MacroDefine_C_POSIX());
|
||||||
|
|
||||||
IToolCommandlineParser.IResult entries;
|
IToolCommandlineParser.IResult result;
|
||||||
|
|
||||||
final String more = " -g -MMD -o CMakeFiles/execut1.dir/util1.c.o"
|
final String more = " -g -MMD -o CMakeFiles/execut1.dir/util1.c.o"
|
||||||
+ " -c /testprojects/C-subsrc/src/src-sub/main.c";
|
+ " -c /testprojects/C-subsrc/src/src-sub/main.c";
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
// generate response file
|
// generate response file
|
||||||
final java.nio.file.Path dirP = Files.createTempDirectory("rfpt");
|
final java.nio.file.Path dirP = Files.createTempDirectory("rfpt");
|
||||||
|
@ -59,36 +57,30 @@ public class ToolCommandlineParserTest {
|
||||||
rspFilePw.close();
|
rspFilePw.close();
|
||||||
}
|
}
|
||||||
// @a/response/file.txt
|
// @a/response/file.txt
|
||||||
entries = testee.processArgs(new Path(cwdP.toString()), "@" + relRspP.toString() + " -D" + defName + more);
|
result = testee.processArgs(new Path(cwdP.toString()), "@" + relRspP.toString() + " -D" + defName + more);
|
||||||
assertEquals("#entries", 4, entries.getSettingEntries().size());
|
assertEquals("#defines", 3, result.getDefines().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertTrue("found", result.getDefines().containsKey(def1Name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("value", "234", result.getDefines().get(def1Name));
|
||||||
assertEquals("name", def1Name, parsed.getName());
|
assertTrue("found", result.getDefines().containsKey(def2Name));
|
||||||
parsed = entries.getSettingEntries().get(1);
|
assertEquals("value", "987", result.getDefines().get(def2Name));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
assertTrue("found", result.getDefines().containsKey(defName));
|
||||||
assertEquals("name", cwdP.resolve(incDirName).toString(), parsed.getName());
|
assertEquals("value", "", result.getDefines().get(defName));
|
||||||
parsed = entries.getSettingEntries().get(2);
|
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("#paths", 1, result.getIncludePaths().size());
|
||||||
assertEquals("name", def2Name, parsed.getName());
|
assertEquals("value", cwdP.resolve(incDirName).toString(), result.getIncludePaths().get(0));
|
||||||
parsed = entries.getSettingEntries().get(3);
|
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", defName, parsed.getName());
|
|
||||||
|
|
||||||
// @ a/response.file.txt
|
// @ a/response.file.txt
|
||||||
entries = testee.processArgs(new Path(cwdP.toString()), "@ " + relRspP.toString() + " -D" + defName + more);
|
result = testee.processArgs(new Path(cwdP.toString()), "@ " + relRspP.toString() + " -D" + defName + more);
|
||||||
assertEquals("#entries", 4, entries.getSettingEntries().size());
|
assertEquals("#defines", 3, result.getDefines().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertTrue("found", result.getDefines().containsKey(def1Name));
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("value", "234", result.getDefines().get(def1Name));
|
||||||
assertEquals("name", def1Name, parsed.getName());
|
assertTrue("found", result.getDefines().containsKey(def2Name));
|
||||||
parsed = entries.getSettingEntries().get(1);
|
assertEquals("value", "987", result.getDefines().get(def2Name));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
assertTrue("found", result.getDefines().containsKey(defName));
|
||||||
assertEquals("name", cwdP.resolve(incDirName).toString(), parsed.getName());
|
assertEquals("value", "", result.getDefines().get(defName));
|
||||||
parsed = entries.getSettingEntries().get(2);
|
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
assertEquals("#paths", 1, result.getIncludePaths().size());
|
||||||
assertEquals("name", def2Name, parsed.getName());
|
assertEquals("value", cwdP.resolve(incDirName).toString(), result.getIncludePaths().get(0));
|
||||||
parsed = entries.getSettingEntries().get(3);
|
|
||||||
assertEquals("kind", ICSettingEntry.MACRO, parsed.getKind());
|
|
||||||
assertEquals("name", defName, parsed.getName());
|
|
||||||
|
|
||||||
Files.delete(absRspP);
|
Files.delete(absRspP);
|
||||||
}
|
}
|
||||||
|
@ -98,22 +90,19 @@ public class ToolCommandlineParserTest {
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public final void testResponseFileArgumentParser_At_heredoc() throws Exception {
|
public final void testResponseFileArgumentParser_At_heredoc() throws Exception {
|
||||||
DefaultToolCommandlineParser testee = new DefaultToolCommandlineParser("egal", new ResponseFileArglets.At(),
|
DefaultToolCommandlineParser testee = new DefaultToolCommandlineParser(new ResponseFileArglets.At(), null,
|
||||||
null, new Arglets.IncludePath_C_POSIX(), new Arglets.MacroDefine_C_POSIX());
|
new Arglets.IncludePath_C_POSIX(), new Arglets.MacroDefine_C_POSIX());
|
||||||
|
|
||||||
final String more = " -g -MMD -o CMakeFiles/execut1.dir/util1.c.o"
|
final String more = " -g -MMD -o CMakeFiles/execut1.dir/util1.c.o"
|
||||||
+ " -c /testprojects/C-subsrc/src/src-sub/main.c";
|
+ " -c /testprojects/C-subsrc/src/src-sub/main.c";
|
||||||
IToolCommandlineParser.IResult entries;
|
IToolCommandlineParser.IResult result;
|
||||||
ICLanguageSettingEntry parsed;
|
|
||||||
|
|
||||||
String name = "/ye/olde/Include/Pathe";
|
String name = "/ye/olde/Include/Pathe";
|
||||||
IPath cwd = new Path("");
|
IPath cwd = new Path("");
|
||||||
entries = new ParseContext();
|
result = new ParseContext();
|
||||||
// @<< ... <<
|
// @<< ... <<
|
||||||
entries = testee.processArgs(cwd, "@<<" + " -I" + name + " <<" + more);
|
result = testee.processArgs(cwd, "@<<" + " -I" + name + " <<" + more);
|
||||||
assertEquals("#entries", 1, entries.getSettingEntries().size());
|
assertEquals("#paths", 1, result.getIncludePaths().size());
|
||||||
parsed = entries.getSettingEntries().get(0);
|
assertEquals("name", name, result.getIncludePaths().get(0));
|
||||||
assertEquals("kind", ICSettingEntry.INCLUDE_PATH, parsed.getKind());
|
|
||||||
assertEquals("name", name, parsed.getName());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2018 Martin Weber.
|
* Copyright (c) 2018-2020 Martin Weber.
|
||||||
*
|
*
|
||||||
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
* Content is provided to you under the terms and conditions of the Eclipse Public License Version 2.0 "EPL".
|
||||||
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
* A copy of the EPL is available at http://www.eclipse.org/legal/epl-2.0.
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
package org.eclipse.cdt.cmake.is.core.internal.builtins;
|
package org.eclipse.cdt.cmake.is.core.internal.builtins;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -17,7 +18,6 @@ import java.io.InputStream;
|
||||||
|
|
||||||
import org.eclipse.cdt.cmake.is.core.builtins.GccOutputProcessor;
|
import org.eclipse.cdt.cmake.is.core.builtins.GccOutputProcessor;
|
||||||
import org.eclipse.cdt.cmake.is.core.builtins.OutputSniffer;
|
import org.eclipse.cdt.cmake.is.core.builtins.OutputSniffer;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -41,13 +41,13 @@ public class GccOutputProcessorTest {
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
public void testProcessLine() {
|
public void testProcessLine() {
|
||||||
testee.processLine("#define AAA xyz", new ProcessingContext());
|
testee.processLine("#define AAA xyz", new RawIndexerInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProcessFile() throws IOException {
|
public void testProcessFile() throws IOException {
|
||||||
// pass resource content line-wise to the testee...
|
// pass resource content line-wise to the testee...
|
||||||
ProcessingContext pc = new ProcessingContext();
|
RawIndexerInfo pc = new RawIndexerInfo();
|
||||||
try (InputStream is = getClass().getResourceAsStream("cbd-gcc.output.txt");
|
try (InputStream is = getClass().getResourceAsStream("cbd-gcc.output.txt");
|
||||||
OutputSniffer os = new OutputSniffer(testee, null, pc)) {
|
OutputSniffer os = new OutputSniffer(testee, null, pc)) {
|
||||||
byte[] buffer = new byte[1024];
|
byte[] buffer = new byte[1024];
|
||||||
|
@ -57,27 +57,11 @@ public class GccOutputProcessorTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check __GNUC__
|
assertEquals("# include paths", 5, pc.getIncludePaths().size());
|
||||||
for (ICLanguageSettingEntry entry : pc.getSettingEntries()) {
|
assertEquals("# macros", 238, pc.getDefines().size());
|
||||||
if (entry.getKind() == ICLanguageSettingEntry.MACRO) {
|
|
||||||
if ("__GNUC__".equals(entry.getName()))
|
|
||||||
assertEquals("value (" + entry.getName() + ")", "4", entry.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int inc = 0;
|
// check __GNUC__
|
||||||
int macro = 0;
|
assertTrue("__GNUC__", pc.getDefines().containsKey("__GNUC__"));
|
||||||
for (ICLanguageSettingEntry entry : pc.getSettingEntries()) {
|
assertNotNull("value", pc.getDefines().get("__GNUC__"));
|
||||||
if (entry.getKind() == ICLanguageSettingEntry.INCLUDE_PATH) {
|
|
||||||
inc++;
|
|
||||||
assertTrue("path", !"".equals(entry.getName()));
|
|
||||||
} else if (entry.getKind() == ICLanguageSettingEntry.MACRO) {
|
|
||||||
macro++;
|
|
||||||
assertTrue("macro", !"".equals(entry.getName()));
|
|
||||||
assertTrue("value (" + entry.getName() + ")", entry.getValue() != null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
assertEquals("# include paths", 5, inc);
|
|
||||||
assertEquals("# macros", 238, macro);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue