diff --git a/.nycrc b/.nycrc index 9e34a976e21ef6..c826fbc02d5dd0 100644 --- a/.nycrc +++ b/.nycrc @@ -2,5 +2,6 @@ "exclude": [ "**/internal/process/write-coverage.js" ], + "compact": false, "reporter": ["html", "text"] } diff --git a/Makefile b/Makefile index addcc5f9f17981..a7099947c72a78 100644 --- a/Makefile +++ b/Makefile @@ -233,6 +233,7 @@ v8: .PHONY: jstest jstest: build-addons build-addons-napi ## Runs addon tests and JS tests $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) \ + --skip-tests=$(CI_SKIP_TESTS) \ $(CI_JS_SUITES) \ $(CI_NATIVE_SUITES) @@ -263,8 +264,7 @@ test-cov: all $(MAKE) build-addons $(MAKE) build-addons-napi # $(MAKE) cctest - $(MAKE) jstest - $(MAKE) lint + CI_SKIP_TESTS=core_line_numbers.js $(MAKE) jstest test-parallel: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) parallel diff --git a/tools/test.py b/tools/test.py index 66b9c7291f36af..e5581e8da41c44 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1382,6 +1382,9 @@ def BuildOptions(): result.add_option("--flaky-tests", help="Regard tests marked as flaky (run|skip|dontcare)", default="run") + result.add_option("--skip-tests", + help="Tests that should not be executed (comma-separated)", + default="") result.add_option("--warn-unused", help="Report unused rules", default=False, action="store_true") result.add_option("-j", help="The number of parallel tasks to run", @@ -1424,6 +1427,7 @@ def ProcessOptions(options): options.arch = options.arch.split(',') options.mode = options.mode.split(',') options.run = options.run.split(',') + options.skip_tests = options.skip_tests.split(',') if options.run == [""]: options.run = None elif len(options.run) != 2: @@ -1710,6 +1714,11 @@ def Main(): result = None def DoSkip(case): + # A list of tests that should be skipped can be provided. This is + # useful for tests that fail in some environments, e.g., under coverage. + if options.skip_tests != [""]: + if [ st for st in options.skip_tests if st in case.case.file ]: + return True if SKIP in case.outcomes or SLOW in case.outcomes: return True return FLAKY in case.outcomes and options.flaky_tests == SKIP