Source code

Revision control

Copy as Markdown

Other Tools

# mypy: allow-untyped-defs
from tools.ci import jobs
all_jobs = {
"lint",
"manifest_upload",
"resources_unittest",
"affected_tests",
"stability",
"tools_unittest",
"update_built",
"wpt_integration",
"wptrunner_infrastructure",
"wptrunner_unittest",
}
default_jobs = {"lint", "manifest_upload"}
def test_all():
assert jobs.get_jobs(["README.md"], all=True) == all_jobs
def test_default():
assert jobs.get_jobs(["README.md"]) == default_jobs
def test_testharness():
assert jobs.get_jobs(["resources/testharness.js"]) == default_jobs | {"resources_unittest",
"wptrunner_infrastructure"}
assert jobs.get_jobs(["resources/testharness.js"],
includes=["resources_unittest"]) == {"resources_unittest"}
assert jobs.get_jobs(["tools/wptserve/wptserve/config.py"],
includes=["resources_unittest"]) == {"resources_unittest"}
assert jobs.get_jobs(["foo/resources/testharness.js"],
includes=["resources_unittest"]) == set()
def test_stability():
assert jobs.get_jobs(["dom/historical.html"],
includes=["stability"]) == {"stability"}
assert jobs.get_jobs(["tools/pytest.ini"],
includes=["stability"]) == set()
assert jobs.get_jobs(["serve"],
includes=["stability"]) == set()
assert jobs.get_jobs(["resources/testharness.js"],
includes=["stability"]) == set()
assert jobs.get_jobs(["docs/.gitignore"],
includes=["stability"]) == set()
assert jobs.get_jobs(["dom/tools/example.py"],
includes=["stability"]) == set()
assert jobs.get_jobs(["conformance-checkers/test.html"],
includes=["stability"]) == set()
assert jobs.get_jobs(["dom/README.md"],
includes=["stability"]) == set()
assert jobs.get_jobs(["css/build-css-testsuite.sh"],
includes=["stability"]) == set()
assert jobs.get_jobs(["css/CSS21/test-001.html"],
includes=["stability"]) == {"stability"}
assert jobs.get_jobs(["css/build-css-testsuite.sh",
"css/CSS21/test-001.html"],
includes=["stability"]) == {"stability"}
def test_affected_tests():
assert jobs.get_jobs(["dom/historical.html"],
includes=["affected_tests"]) == {"affected_tests"}
assert jobs.get_jobs(["tools/pytest.ini"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["serve"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["resources/testharness.js"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["docs/.gitignore"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["dom/tools/example.py"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["conformance-checkers/test.html"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["dom/README.md"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["css/build-css-testsuite.sh"],
includes=["affected_tests"]) == set()
assert jobs.get_jobs(["css/CSS21/test-001.html"],
includes=["affected_tests"]) == {"affected_tests"}
assert jobs.get_jobs(["css/build-css-testsuite.sh",
"css/CSS21/test-001.html"],
includes=["affected_tests"]) == {"affected_tests"}
assert jobs.get_jobs(["resources/idlharness.js"],
includes=["affected_tests"]) == {"affected_tests"}
def test_tools_unittest():
assert jobs.get_jobs(["tools/ci/test/test_jobs.py"],
includes=["tools_unittest"]) == {"tools_unittest"}
assert jobs.get_jobs(["dom/tools/example.py"],
includes=["tools_unittest"]) == set()
assert jobs.get_jobs(["dom/historical.html"],
includes=["tools_unittest"]) == set()
def test_wptrunner_unittest():
assert jobs.get_jobs(["tools/wptrunner/wptrunner/wptrunner.py"],
includes=["wptrunner_unittest"]) == {"wptrunner_unittest"}
assert jobs.get_jobs(["tools/example.py"],
includes=["wptrunner_unittest"]) == {"wptrunner_unittest"}
def test_update_built():
assert jobs.get_jobs(["html/canvas/element/foo.html"],
includes=["update_built"]) == {"update_built"}
assert jobs.get_jobs(["html/foo.html"],
includes=["update_built"]) == {"update_built"}
assert jobs.get_jobs(["html/canvas/offscreen/foo.html"],
includes=["update_built"]) == {"update_built"}
def test_wpt_integration():
assert jobs.get_jobs(["tools/wpt/wpt.py"],
includes=["wpt_integration"]) == {"wpt_integration"}
assert jobs.get_jobs(["tools/wptrunner/wptrunner/wptrunner.py"],
includes=["wpt_integration"]) == {"wpt_integration"}
def test_wpt_infrastructure():
assert jobs.get_jobs(["tools/hammer.html"],
includes=["wptrunner_infrastructure"]) == {"wptrunner_infrastructure"}
assert jobs.get_jobs(["infrastructure/assumptions/ahem.html"],
includes=["wptrunner_infrastructure"]) == {"wptrunner_infrastructure"}
def test_wdspec_support():
assert jobs.get_jobs(["webdriver/tests/support/__init__.py"],
includes=["wptrunner_infrastructure"]) == {"wptrunner_infrastructure"}