blob: 038dfb7e1543fcc1bd05f3cf8cbe8fa3a4eaec73 [file] [log] [blame]
load("//js/private/coverage:merger.bzl", "coverage_merger")
load(":test.bzl", "coverage_fail_test", "coverage_pass_test")
FAIL_CMD = """\
echo "require('fs').writeFileSync(process.env.COVERAGE_OUTPUT_FILE, '# no coverage');" >> $@
cat $(location //js/private/coverage:coverage.js) >> $@
echo "process.on('exit', () => require('assert').equal(require('fs').readFileSync(process.env.COVERAGE_OUTPUT_FILE).toString(), '# no coverage'))" >> $@
"""
genrule(
name = "fail_merger_entrypoint",
srcs = ["//js/private/coverage:coverage.js"],
outs = ["fail_merger_entrypoint.js"],
cmd = FAIL_CMD,
)
coverage_merger(
name = "fail_merger",
entry_point = ":fail_merger_entrypoint.js",
visibility = ["//visibility:public"],
)
coverage_fail_test(
name = "fail",
data = ["lib.js"],
enable_runfiles = select({
"@aspect_bazel_lib//lib:enable_runfiles": True,
"//conditions:default": False,
}),
entry_point = "lib.js",
)
PASS_CMD = """\
cat $(location //js/private/coverage:coverage.js) >> $@
echo "process.on('exit', () => require('assert').equal(require('fs').readFileSync(process.env.COVERAGE_OUTPUT_FILE).toString().split('\\n')[1], 'SF:js/private/test/coverage/lib.js'))" >> $@
"""
genrule(
name = "pass_merger_entrypoint",
srcs = ["//js/private/coverage:coverage.js"],
outs = ["pass_merger_entrypoint.js"],
cmd = PASS_CMD,
)
coverage_merger(
name = "pass_merger",
entry_point = ":pass_merger_entrypoint.js",
visibility = ["//visibility:public"],
)
coverage_pass_test(
name = "pass",
data = ["lib.js"],
enable_runfiles = select({
"@aspect_bazel_lib//lib:enable_runfiles": True,
"//conditions:default": False,
}),
entry_point = "lib.js",
)