| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,23 +1,14 @@ | |||
| 1 | 1 | import runs_on | |
| 2 | 2 | import pytest | |
| 3 | - import sys | ||
| 4 | - | ||
| 5 | - def get_test_module(semmle_code_dir): | ||
| 6 | - import importlib.util | ||
| 7 | - spec = importlib.util.spec_from_file_location('test-module', semmle_code_dir / 'ql' / 'misc' / 'pytest' / 'lib' / 'query-suite-test.py') | ||
| 8 | - mod = importlib.util.module_from_spec(spec) | ||
| 9 | - sys.modules["test-module"] = mod | ||
| 10 | - spec.loader.exec_module(mod) | ||
| 11 | - return mod | ||
| 3 | + from query_suites import * | ||
| 12 | 4 | ||
| 13 | 5 | well_known_query_suites = ['java-code-quality.qls', 'java-security-and-quality.qls', 'java-security-extended.qls', 'java-code-scanning.qls'] | |
| 14 | 6 | ||
| 15 | 7 | @runs_on.posix | |
| 16 | 8 | @pytest.mark.parametrize("query_suite", well_known_query_suites) | |
| 17 | - def test(codeql, java, cwd, expected_files, semmle_code_dir, query_suite): | ||
| 18 | - get_test_module(semmle_code_dir).test(codeql, cwd, expected_files, semmle_code_dir, query_suite) | ||
| 19 | - | ||
| 9 | + def test(codeql, java, check_query_suite, query_suite): | ||
| 10 | + check_query_suite(query_suite) | ||
| 20 | 11 | ||
| 21 | 12 | @runs_on.posix | |
| 22 | - def test_not_included_queries(codeql, java, cwd, expected_files, semmle_code_dir): | ||
| 23 | - get_test_module(semmle_code_dir).test_not_included_queries(codeql, 'java', cwd, expected_files, semmle_code_dir, well_known_query_suites) | ||
| 13 | + def test_not_included_queries(codeql, java, check_queries_not_included): | ||
| 14 | + check_queries_not_included('java', well_known_query_suites) | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,30 @@ | |||
| 1 | + | ||
| 2 | + import os | ||
| 3 | + import pytest | ||
| 4 | + | ||
| 5 | + @pytest.fixture | ||
| 6 | + def check_query_suite(codeql, cwd, expected_files, semmle_code_dir): | ||
| 7 | + def ret(query_suite): | ||
| 8 | + actual = codeql.resolve.queries(query_suite, _capture=True).strip() | ||
| 9 | + actual = sorted(actual.splitlines()) | ||
| 10 | + actual = [os.path.relpath(q, semmle_code_dir) for q in actual] | ||
| 11 | + actual_file_name = query_suite + '.actual' | ||
| 12 | + expected_files.add(actual_file_name) | ||
| 13 | + (cwd / actual_file_name).write_text('\n'.join(actual)+'\n') | ||
| 14 | + return ret | ||
| 15 | + | ||
| 16 | + @pytest.fixture | ||
| 17 | + def check_queries_not_included(codeql, cwd, expected_files, semmle_code_dir): | ||
| 18 | + def ret(lang_folder_name, query_suites): | ||
| 19 | + all_queries = codeql.resolve.queries(semmle_code_dir / 'ql' / lang_folder_name / 'ql' / 'src', _capture=True).strip().splitlines() | ||
| 20 | + | ||
| 21 | + included_in_qls = set() | ||
| 22 | + for query_suite in query_suites: | ||
| 23 | + included_in_qls |= set(codeql.resolve.queries(query_suite, _capture=True).strip().splitlines()) | ||
| 24 | + | ||
| 25 | + not_included = sorted(set(all_queries) - included_in_qls) | ||
| 26 | + not_included = [os.path.relpath(q, semmle_code_dir) for q in not_included] | ||
| 27 | + not_included_file_name = 'not_included_in_qls.actual' | ||
| 28 | + expected_files.add(not_included_file_name) | ||
| 29 | + (cwd / not_included_file_name).write_text('\n'.join(not_included)+'\n') | ||
| 30 | + return ret | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,23 +1,14 @@ | |||
| 1 | 1 | import runs_on | |
| 2 | 2 | import pytest | |
| 3 | - import sys | ||
| 4 | - | ||
| 5 | - def get_test_module(semmle_code_dir): | ||
| 6 | - import importlib.util | ||
| 7 | - spec = importlib.util.spec_from_file_location('test-module', semmle_code_dir / 'ql' / 'misc' / 'pytest' / 'lib' / 'query-suite-test.py') | ||
| 8 | - mod = importlib.util.module_from_spec(spec) | ||
| 9 | - sys.modules["test-module"] = mod | ||
| 10 | - spec.loader.exec_module(mod) | ||
| 11 | - return mod | ||
| 12 | - | ||
| 3 | + from query_suites import * | ||
| 13 | 4 | ||
| 14 | 5 | well_known_query_suites = ['swift-code-quality.qls', 'swift-security-and-quality.qls', 'swift-security-extended.qls', 'swift-code-scanning.qls'] | |
| 15 | 6 | ||
| 16 | 7 | @runs_on.posix | |
| 17 | 8 | @pytest.mark.parametrize("query_suite", well_known_query_suites) | |
| 18 | - def test(codeql, swift, cwd, expected_files, semmle_code_dir, query_suite): | ||
| 19 | - get_test_module(semmle_code_dir).test(codeql, cwd, expected_files, semmle_code_dir, query_suite) | ||
| 9 | + def test(codeql, swift, check_query_suite, query_suite): | ||
| 10 | + check_query_suite(query_suite) | ||
| 20 | 11 | ||
| 21 | 12 | @runs_on.posix | |
| 22 | - def test_not_included_queries(codeql, swift, cwd, expected_files, semmle_code_dir): | ||
| 23 | - get_test_module(semmle_code_dir).test_not_included_queries(codeql, 'swift', cwd, expected_files, semmle_code_dir, well_known_query_suites) | ||
| 13 | + def test_not_included_queries(codeql, swift, check_queries_not_included): | ||
| 14 | + check_queries_not_included('swift', well_known_query_suites) | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments