Skip to content

Commit 33f87c0

Browse files
committed
Port linux/kotlin tests to pytest.
1 parent ccd90f2 commit 33f87c0

File tree

5 files changed

+37
-32
lines changed

5 files changed

+37
-32
lines changed
Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
1-
from create_database_utils import *
2-
3-
import pathlib
41
import shutil
2+
import runs_on
3+
import commands
54

6-
this_dir = pathlib.Path(__file__).resolve().parent
7-
cwd = pathlib.Path.cwd()
8-
builddir = cwd / 'build'
9-
10-
builddir.mkdir(exist_ok=True)
11-
12-
try:
13-
runSuccessfully(
14-
[f'{get_semmle_code_path()}/tools/bazel', f'--output_user_root={builddir}', '--max_idle_secs=1', 'build',
15-
'//java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin', '--spawn_strategy=local',
16-
'--nouse_action_cache', '--noremote_accept_cached', '--noremote_upload_local_results',
17-
f'--symlink_prefix={cwd / "bazel-"}'], cwd=this_dir)
18-
finally:
19-
# rules_python creates a read-only directory in bazel's output, this allows cleanup to succeed
20-
runSuccessfully(['chmod', '-R', '+w', builddir])
21-
22-
shutil.copy(
23-
'bazel-bin/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/plugin.jar', 'plugin.jar')
245

25-
run_codeql_database_create(
26-
["kotlinc -J-Xmx2G -language-version 1.9 -Xplugin=plugin.jar a.kt b.kt c.kt d.kt e.kt"], lang="java")
6+
@runs_on.linux
7+
def test(codeql, java_full, cwd, semmle_code_dir, test_dir):
8+
build_dir = cwd / "build"
9+
build_dir.mkdir(exist_ok=True)
10+
commands.run(
11+
[
12+
f"{semmle_code_dir}/tools/bazel",
13+
f"--output_user_root={build_dir}",
14+
"--max_idle_secs=1",
15+
"build",
16+
"//java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin",
17+
"--spawn_strategy=local",
18+
"--nouse_action_cache",
19+
"--noremote_accept_cached",
20+
"--noremote_upload_local_results",
21+
f'--symlink_prefix={cwd / "bazel-"}',
22+
],
23+
_cwd=test_dir,
24+
)
25+
shutil.copy(
26+
"bazel-bin/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/plugin.jar",
27+
"plugin.jar",
28+
)
29+
codeql.database.create(
30+
command=[
31+
"kotlinc -J-Xmx2G -language-version 1.9 -Xplugin=plugin.jar a.kt b.kt c.kt d.kt e.kt"
32+
]
33+
)

java/ql/integration-tests/linux-only/kotlin/qlpack.yml

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
from create_database_utils import *
2-
import glob
1+
import runs_on
32

4-
os.mkdir('build')
5-
javaccmd = " ".join(["javac"] + glob.glob("javasrc/extlib/*.java") + ["-d", "build"])
6-
jarcmd = " ".join(["jar", "-c", "-f", "extlib.jar", "-C", "build", "extlib"])
7-
run_codeql_database_create([javaccmd, jarcmd, "kotlinc user.kt -cp extlib.jar"], lang="java")
83

4+
@runs_on.linux
5+
def test(codeql, java_full, cwd):
6+
java_srcs = (cwd / "javasrc" / "extlib").glob("*.java")
7+
javac_cmd = " ".join(["javac"] + [str(s) for s in java_srcs] + ["-d", "build"])
8+
jar_cmd = " ".join(["jar", "-c", "-f", "extlib.jar", "-C", "build", "extlib"])
9+
codeql.database.create(command=[javac_cmd, jar_cmd, "kotlinc user.kt -cp extlib.jar"])

0 commit comments

Comments
 (0)