Skip to content

Commit 24fc4ba

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Java: add tests
1 parent f255b6a commit 24fc4ba

File tree

5 files changed

+193
-0
lines changed

5 files changed

+193
-0
lines changed

java/ql/test/library-tests/neutrals/neutralsinks/NeutralSinksTest.expected

Whitespace-only changes.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import java
2+
import TestUtilities.InlineExpectationsTest
3+
import semmle.code.java.dataflow.DataFlow
4+
import semmle.code.java.dataflow.ExternalFlow
5+
6+
class NeutralSinksTest extends InlineExpectationsTest {
7+
NeutralSinksTest() { this = "NeutralSinksTest" }
8+
9+
override string getARelevantTag() { result = "isSink" }
10+
11+
override predicate hasActualResult(Location location, string element, string tag, string value) {
12+
tag = "isSink" and
13+
exists(DataFlow::Node sink |
14+
sinkNode(sink, _) and
15+
sink.getLocation() = location and
16+
element = sink.toString() and
17+
value = ""
18+
)
19+
}
20+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import java.io.File;
2+
import java.nio.file.Files;
3+
import java.nio.file.spi.FileSystemProvider;
4+
import java.nio.file.LinkOption;
5+
import java.text.Collator;
6+
import java.text.RuleBasedCollator;
7+
import java.util.prefs.AbstractPreferences;
8+
import java.util.prefs.Preferences;
9+
import org.apache.hc.client5.http.protocol.RedirectLocations;
10+
11+
public class Test {
12+
13+
public void test() throws Exception {
14+
15+
// java.io
16+
File file = null;
17+
file.exists(); // Neutral Sink
18+
file.compareTo(null); // Neutral Sink
19+
20+
// java.nio.file
21+
Files.exists(null, (LinkOption[])null); // Neutral Sink
22+
Files.getLastModifiedTime(null, (LinkOption[])null); // Neutral Sink
23+
Files.getOwner(null, (LinkOption[])null); // Neutral Sink
24+
Files.getPosixFilePermissions(null, (LinkOption[])null); // Neutral Sink
25+
Files.isDirectory(null, (LinkOption[])null); // Neutral Sink
26+
Files.isExecutable(null); // Neutral Sink
27+
Files.isHidden(null); // Neutral Sink
28+
Files.isReadable(null); // Neutral Sink
29+
Files.isRegularFile(null, (LinkOption[])null); // Neutral Sink
30+
Files.isSameFile(null, null); // Neutral Sink
31+
Files.isSymbolicLink(null); // Neutral Sink
32+
Files.isWritable(null); // Neutral Sink
33+
Files.notExists(null, (LinkOption[])null); // Neutral Sink
34+
Files.setLastModifiedTime(null, null); // Neutral Sink
35+
Files.size(null); // Neutral Sink
36+
37+
// java.nio.file.spi
38+
FileSystemProvider fsp = null;
39+
fsp.isHidden(null); // Neutral Sink
40+
fsp.isSameFile(null, null); // Neutral Sink
41+
42+
// java.text
43+
Collator c = null;
44+
c.compare(null, null); // Neutral Sink
45+
c.equals(null); // Neutral Sink
46+
c.equals(null, null); // Neutral Sink
47+
RuleBasedCollator rbc = null;
48+
rbc.compare(null, null); // Neutral Sink
49+
50+
// java.util.prefs
51+
AbstractPreferences ap = null;
52+
ap.nodeExists(null); // Neutral Sink
53+
Preferences p = null;
54+
p.nodeExists(null); // Neutral Sink
55+
56+
// org.apache.hc.client5.http.protocol
57+
RedirectLocations rl = null;
58+
rl.contains(null); // Neutral Sink
59+
}
60+
61+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//semmle-extractor-options: --javac-args -source 11 -target 11 -cp ${testdir}/../../../stubs/apache-http-5

java/ql/test/stubs/apache-http-5/org/apache/hc/client5/http/protocol/RedirectLocations.java

Lines changed: 111 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)