blob: aad9403b7c14620cdd9fc11f30d813e338eaf380 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Some experimental features are enabled only on nightly builds, and disabled
// on beta and release. Tests for these features should not simply disable
// themselves on all but nightly builds, because if we neglect to update such
// tests once the features cease to be experimental, we'll silently skip the
// tests on beta and release, even though they should run.
// Call the function f. On beta and release, expect it to throw an error that is
// an instance of error.
function nightlyOnly(error, f) {
if (getBuildConfiguration("release_or_beta")) {
try {
f();
throw new Error("use of feature expected to fail on release and beta, but succeeded; please update test");
} catch (e) {
if (!(e instanceof error)) {
throw e;
}
// All is well.
}
} else {
f();
}
}
|