diff --git a/csharp/ql/integration-tests/windows/subst/code/Program.cs b/csharp/ql/integration-tests/windows/subst/code/Program.cs new file mode 100644 index 000000000000..b5fc9827b28b --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/code/Program.cs @@ -0,0 +1,4 @@ +class Program +{ + static void Main() {} +} diff --git a/csharp/ql/integration-tests/windows/subst/code/dotnet_build.csproj b/csharp/ql/integration-tests/windows/subst/code/dotnet_build.csproj new file mode 100644 index 000000000000..694035b3acd5 --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/code/dotnet_build.csproj @@ -0,0 +1,10 @@ + + + + Exe + net9.0 + enable + enable + + + diff --git a/csharp/ql/integration-tests/windows/subst/code/global.json b/csharp/ql/integration-tests/windows/subst/code/global.json new file mode 100644 index 000000000000..9ceca3771e69 --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/code/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "9.0.201" + } +} diff --git a/csharp/ql/integration-tests/windows/subst/file.expected b/csharp/ql/integration-tests/windows/subst/file.expected new file mode 100644 index 000000000000..6421dce41212 --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/file.expected @@ -0,0 +1,8 @@ +| code/Program.cs:0:0:0:0 | code/Program.cs | | +| code/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs:0:0:0:0 | code/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs | | +| code/obj/Debug/net9.0/dotnet_build.AssemblyInfo.cs:0:0:0:0 | code/obj/Debug/net9.0/dotnet_build.AssemblyInfo.cs | | +| code/obj/Debug/net9.0/dotnet_build.GlobalUsings.g.cs:0:0:0:0 | code/obj/Debug/net9.0/dotnet_build.GlobalUsings.g.cs | | +| code/obj/Debug/net9.0/dotnet_build.dll:0:0:0:0 | code/obj/Debug/net9.0/dotnet_build.dll | | +| file://:0:0:0:0 | | | +| file://Z:/dotnet_build.csproj:0:0:0:0 | Z:/dotnet_build.csproj | relative | +| file://Z:/obj/dotnet_build.csproj.nuget.g.props:0:0:0:0 | Z:/obj/dotnet_build.csproj.nuget.g.props | relative | diff --git a/csharp/ql/integration-tests/windows/subst/file.ql b/csharp/ql/integration-tests/windows/subst/file.ql new file mode 100644 index 000000000000..43cc4a13fdc5 --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/file.ql @@ -0,0 +1,7 @@ +import csharp + +from File f, string relative +where + not f.getURL().matches("file://C:/Program Files/%") and + if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/csharp/ql/integration-tests/windows/subst/test.py b/csharp/ql/integration-tests/windows/subst/test.py new file mode 100644 index 000000000000..8fbb3201cd4f --- /dev/null +++ b/csharp/ql/integration-tests/windows/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, csharp, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(source_root=drive) diff --git a/go/ql/integration-tests/subst/code/main.go b/go/ql/integration-tests/subst/code/main.go new file mode 100644 index 000000000000..38dd16da61ac --- /dev/null +++ b/go/ql/integration-tests/subst/code/main.go @@ -0,0 +1,3 @@ +package main + +func main() {} diff --git a/go/ql/integration-tests/subst/file.expected b/go/ql/integration-tests/subst/file.expected new file mode 100644 index 000000000000..b86b34681e44 --- /dev/null +++ b/go/ql/integration-tests/subst/file.expected @@ -0,0 +1 @@ +| file://Z:/main.go:0:0:0:0 | Z:/main.go | relative | diff --git a/go/ql/integration-tests/subst/file.ql b/go/ql/integration-tests/subst/file.ql new file mode 100644 index 000000000000..0abcfdc784ad --- /dev/null +++ b/go/ql/integration-tests/subst/file.ql @@ -0,0 +1,5 @@ +import go + +from File f, string relative +where if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/go/ql/integration-tests/subst/test.py b/go/ql/integration-tests/subst/test.py new file mode 100644 index 000000000000..2fafe00927af --- /dev/null +++ b/go/ql/integration-tests/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, go, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(command="go build main.go", source_root=drive) diff --git a/java/ql/integration-tests/java/subst/code/test1.java b/java/ql/integration-tests/java/subst/code/test1.java new file mode 100644 index 000000000000..4bdfe39fca7a --- /dev/null +++ b/java/ql/integration-tests/java/subst/code/test1.java @@ -0,0 +1,4 @@ +class test { + public static void main(String[] args) { + } +} diff --git a/java/ql/integration-tests/java/subst/code/test2.kt b/java/ql/integration-tests/java/subst/code/test2.kt new file mode 100644 index 000000000000..d44a1616c018 --- /dev/null +++ b/java/ql/integration-tests/java/subst/code/test2.kt @@ -0,0 +1 @@ +fun main() {} diff --git a/java/ql/integration-tests/java/subst/file.expected b/java/ql/integration-tests/java/subst/file.expected new file mode 100644 index 000000000000..cca997b1a06c --- /dev/null +++ b/java/ql/integration-tests/java/subst/file.expected @@ -0,0 +1,5 @@ +| file://:0:0:0:0 | | | +| file://:0:0:0:0 | | | +| file://Z:/test1.java:0:0:0:0 | test1 | relative | +| file://Z:/test2.kt:0:0:0:0 | test2 | relative | +| file://Z:/test.class:0:0:0:0 | test | relative | diff --git a/java/ql/integration-tests/java/subst/file.ql b/java/ql/integration-tests/java/subst/file.ql new file mode 100644 index 000000000000..504db61890ce --- /dev/null +++ b/java/ql/integration-tests/java/subst/file.ql @@ -0,0 +1,9 @@ +import java + +from File f, string relative +where + not f.getURL().matches("file:///modules/%") and + not f.getURL().matches("file:///!unknown-binary-location/kotlin/%") and + not f.getURL().matches("%/semmle-code/semmle-code/%") and + if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/java/ql/integration-tests/java/subst/test.py b/java/ql/integration-tests/java/subst/test.py new file mode 100644 index 000000000000..5c162ab08d9b --- /dev/null +++ b/java/ql/integration-tests/java/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, java, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(command=["javac test1.java", "kotlinc test2.kt"], source_root=drive) diff --git a/javascript/ql/integration-tests/subst/code/main.js b/javascript/ql/integration-tests/subst/code/main.js new file mode 100644 index 000000000000..8dbc3ac70473 --- /dev/null +++ b/javascript/ql/integration-tests/subst/code/main.js @@ -0,0 +1 @@ +function interesting() { } diff --git a/javascript/ql/integration-tests/subst/code/test.ts b/javascript/ql/integration-tests/subst/code/test.ts new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/javascript/ql/integration-tests/subst/code/test.ts @@ -0,0 +1 @@ +0 diff --git a/javascript/ql/integration-tests/subst/file.expected b/javascript/ql/integration-tests/subst/file.expected new file mode 100644 index 000000000000..10416eb5e733 --- /dev/null +++ b/javascript/ql/integration-tests/subst/file.expected @@ -0,0 +1,2 @@ +| file://Z:/main.js:0:0:0:0 | Z:/main.js | relative | +| file://Z:/test.ts:0:0:0:0 | Z:/test.ts | relative | diff --git a/javascript/ql/integration-tests/subst/file.ql b/javascript/ql/integration-tests/subst/file.ql new file mode 100644 index 000000000000..d4b1f330d42f --- /dev/null +++ b/javascript/ql/integration-tests/subst/file.ql @@ -0,0 +1,7 @@ +import javascript + +from File f, string relative +where + not f.getURL().matches("%/semmle-code/semmle-code/%") and + if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/javascript/ql/integration-tests/subst/test.py b/javascript/ql/integration-tests/subst/test.py new file mode 100644 index 000000000000..98b1c76d517c --- /dev/null +++ b/javascript/ql/integration-tests/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, javascript, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(source_root=drive) diff --git a/python/ql/integration-tests/subst/code/main.py b/python/ql/integration-tests/subst/code/main.py new file mode 100644 index 000000000000..3e978a7aa9ef --- /dev/null +++ b/python/ql/integration-tests/subst/code/main.py @@ -0,0 +1 @@ +print(0) diff --git a/python/ql/integration-tests/subst/file.expected b/python/ql/integration-tests/subst/file.expected new file mode 100644 index 000000000000..1bc4d03914a1 --- /dev/null +++ b/python/ql/integration-tests/subst/file.expected @@ -0,0 +1 @@ +| code/main.py:0:0:0:0 | code/main.py | | diff --git a/python/ql/integration-tests/subst/file.ql b/python/ql/integration-tests/subst/file.ql new file mode 100644 index 000000000000..779bbe981104 --- /dev/null +++ b/python/ql/integration-tests/subst/file.ql @@ -0,0 +1,5 @@ +import python + +from File f, string relative +where if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/python/ql/integration-tests/subst/test.py b/python/ql/integration-tests/subst/test.py new file mode 100644 index 000000000000..627810a6dc1e --- /dev/null +++ b/python/ql/integration-tests/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, python, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(source_root=drive) diff --git a/ruby/ql/integration-tests/subst/code/test.rb b/ruby/ql/integration-tests/subst/code/test.rb new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/ruby/ql/integration-tests/subst/code/test.rb @@ -0,0 +1 @@ +0 diff --git a/ruby/ql/integration-tests/subst/file.expected b/ruby/ql/integration-tests/subst/file.expected new file mode 100644 index 000000000000..47b324fea9e9 --- /dev/null +++ b/ruby/ql/integration-tests/subst/file.expected @@ -0,0 +1,2 @@ +| code/test.rb:0:0:0:0 | code/test.rb | | +| file://:0:0:0:0 | | | diff --git a/ruby/ql/integration-tests/subst/file.ql b/ruby/ql/integration-tests/subst/file.ql new file mode 100644 index 000000000000..55944637191d --- /dev/null +++ b/ruby/ql/integration-tests/subst/file.ql @@ -0,0 +1,5 @@ +import ruby + +from File f, string relative +where if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/ruby/ql/integration-tests/subst/test.py b/ruby/ql/integration-tests/subst/test.py new file mode 100644 index 000000000000..74ff84ce4a5b --- /dev/null +++ b/ruby/ql/integration-tests/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, ruby, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(source_root=drive) diff --git a/rust/ql/integration-tests/subst/code/test.rs b/rust/ql/integration-tests/subst/code/test.rs new file mode 100644 index 000000000000..f328e4d9d04c --- /dev/null +++ b/rust/ql/integration-tests/subst/code/test.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/rust/ql/integration-tests/subst/file.expected b/rust/ql/integration-tests/subst/file.expected new file mode 100644 index 000000000000..c1ff73337f2a --- /dev/null +++ b/rust/ql/integration-tests/subst/file.expected @@ -0,0 +1,2 @@ +| code/test.rs:0:0:0:0 | code/test.rs | | +| file://:0:0:0:0 | | | diff --git a/rust/ql/integration-tests/subst/file.ql b/rust/ql/integration-tests/subst/file.ql new file mode 100644 index 000000000000..3fc437fd6b7f --- /dev/null +++ b/rust/ql/integration-tests/subst/file.ql @@ -0,0 +1,7 @@ +import rust + +from File f, string relative +where + not f.getURL().matches("%/semmle-code/semmle-code/%") and + if exists(f.getRelativePath()) then relative = "relative" else relative = "" +select f, relative diff --git a/rust/ql/integration-tests/subst/test.py b/rust/ql/integration-tests/subst/test.py new file mode 100644 index 000000000000..6d49adcab170 --- /dev/null +++ b/rust/ql/integration-tests/subst/test.py @@ -0,0 +1,7 @@ +import runs_on + + +@runs_on.windows +def test(codeql, rust, cwd, subst_drive): + drive = subst_drive(cwd / "code") + codeql.database.create(source_root=drive)