Review fixup and add test for apache SystemUtils

This commit is contained in:
Jonathan Leitschuh
2022-02-23 14:02:41 -05:00
parent 49513443f2
commit 9f5022ee95
6 changed files with 1824 additions and 9 deletions

View File

@@ -51,10 +51,11 @@ private class IsUnixFromSystemProp extends IsUnixGuard instanceof MethodAccess {
}
}
private predicate isOsFromApacheCommons(FieldAccess fa, string fieldName) {
bindingset[fieldNamePattern]
private predicate isOsFromApacheCommons(FieldAccess fa, string fieldNamePattern) {
exists(Field f | f = fa.getField() |
f.getDeclaringType() instanceof ApacheSystemUtils and
f.hasName(fieldName)
f.getName().matches(fieldNamePattern)
)
}

View File

@@ -1,6 +1,8 @@
import java.nio.file.FileSystems;
import java.nio.file.Path;
import org.apache.commons.lang3.SystemUtils;
public class Test {
void test() {
if (System.getProperty("os.name").contains("Windows")) {
@@ -30,5 +32,13 @@ public class Test {
if (FileSystems.getDefault().supportedFileAttributeViews().contains("posix")) {
}
if (SystemUtils.IS_OS_WINDOWS) {
}
if (SystemUtils.IS_OS_UNIX) {
}
}
}

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../stubs/apache-commons-lang3-3.7/

View File

@@ -1,5 +1,7 @@
| Test.java:14:13:14:59 | contains(...) |
| Test.java:18:13:18:62 | contains(...) |
| Test.java:22:13:22:71 | contains(...) |
| Test.java:26:13:26:95 | contains(...) |
| Test.java:30:13:30:84 | contains(...) |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1439:5:1439:81 | IS_OS_UNIX |
| Test.java:16:13:16:59 | contains(...) |
| Test.java:20:13:20:62 | contains(...) |
| Test.java:24:13:24:71 | contains(...) |
| Test.java:28:13:28:95 | contains(...) |
| Test.java:32:13:32:84 | contains(...) |
| Test.java:40:13:40:34 | SystemUtils.IS_OS_UNIX |

View File

@@ -1,2 +1,17 @@
| Test.java:6:13:6:61 | contains(...) |
| Test.java:10:13:10:75 | contains(...) |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1451:5:1451:84 | IS_OS_WINDOWS |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1463:5:1463:89 | IS_OS_WINDOWS_2000 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1475:5:1475:89 | IS_OS_WINDOWS_2003 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1487:5:1487:89 | IS_OS_WINDOWS_2008 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1499:5:1499:89 | IS_OS_WINDOWS_2012 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1511:5:1511:87 | IS_OS_WINDOWS_95 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1523:5:1523:87 | IS_OS_WINDOWS_98 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1535:5:1535:87 | IS_OS_WINDOWS_ME |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1547:5:1547:87 | IS_OS_WINDOWS_NT |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1559:5:1559:87 | IS_OS_WINDOWS_XP |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1572:5:1572:90 | IS_OS_WINDOWS_VISTA |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1584:5:1584:86 | IS_OS_WINDOWS_7 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1596:5:1596:86 | IS_OS_WINDOWS_8 |
| ../../stubs/apache-commons-lang3-3.7/org/apache/commons/lang3/SystemUtils.java:1608:5:1608:87 | IS_OS_WINDOWS_10 |
| Test.java:8:13:8:61 | contains(...) |
| Test.java:12:13:12:75 | contains(...) |
| Test.java:36:13:36:37 | SystemUtils.IS_OS_WINDOWS |

File diff suppressed because it is too large Load Diff