Skip to content

Commit feb0eeb

Browse files
Use a predetermined seed for tfjs-layers tests (#6878)
Run tfjs-layers tests in a static, non-random order. This is a temporary fix for #6543.
1 parent d94faba commit feb0eeb

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

tfjs-layers/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ tfjs_web_test(
5757
"win_10_chrome",
5858
],
5959
headless = False,
60+
seed = "12345",
6061
static_files = [
6162
# Listed here so sourcemaps are served
6263
"//tfjs-layers/src:tfjs-layers_test_bundle",
@@ -77,6 +78,7 @@ tfjs_web_test(
7778
"bs_ios_12",
7879
],
7980
headless = False,
81+
seed = "12345",
8082
static_files = [
8183
# Listed here so sourcemaps are served
8284
"//tfjs-layers/src:tfjs-layers_test_bundle",

tools/karma_template.conf.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,12 @@ module.exports = function(config) {
153153
browserSocketTimeout: 1.2e5,
154154
...extraConfig,
155155
customLaunchers: CUSTOM_LAUNCHERS,
156-
client: {args: TEMPLATE_args},
156+
client: {
157+
args: TEMPLATE_args,
158+
jasmine: {
159+
random: TEMPLATE_jasmine_random,
160+
seed: "TEMPLATE_jasmine_seed",
161+
},
162+
},
157163
});
158164
}

tools/tfjs_web_test.bzl

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,15 @@ def _make_karma_config_impl(ctx):
4747
if grep:
4848
args = args + ["--grep=" + grep]
4949

50+
seed = ctx.attr.seed
5051
ctx.actions.expand_template(
5152
template = ctx.file.template,
5253
output = ctx.outputs.config_file,
5354
substitutions = {
5455
"TEMPLATE_args": str(args),
5556
"TEMPLATE_browser": ctx.attr.browser,
57+
"TEMPLATE_jasmine_random": "false" if seed else "true",
58+
"TEMPLATE_jasmine_seed": seed if seed else "undefined",
5659
},
5760
)
5861
return [DefaultInfo(files = depset([output_file]))]
@@ -71,6 +74,13 @@ _make_karma_config = rule(
7174
default = "",
7275
doc = "The browser to run",
7376
),
77+
"seed": attr.string(
78+
default = "",
79+
doc = """Use this seed for test order.
80+
81+
If not specified or empty, use a random seed every time.
82+
""",
83+
),
7484
"template": attr.label(
7585
default = Label("@//tools:karma_template.conf.js"),
7686
allow_single_file = True,
@@ -84,6 +94,7 @@ _make_karma_config = rule(
8494
def tfjs_web_test(name, ci = True, args = [], **kwargs):
8595
tags = kwargs.pop("tags", [])
8696
local_browser = kwargs.pop("local_browser", "")
97+
seed = kwargs.pop("seed", "")
8798
headless = kwargs.pop("headless", True)
8899

89100
browsers = kwargs.pop("browsers", [
@@ -111,6 +122,7 @@ def tfjs_web_test(name, ci = True, args = [], **kwargs):
111122
name = config_file,
112123
args = args,
113124
browser = local_browser,
125+
seed = seed,
114126
)
115127

116128
karma_web_test(
@@ -131,6 +143,7 @@ def tfjs_web_test(name, ci = True, args = [], **kwargs):
131143
name = config_file,
132144
browser = browser,
133145
args = args,
146+
seed = seed,
134147
)
135148

136149
additional_tags = ["no-remote-exec"]

0 commit comments

Comments
 (0)