blob: 07585a2e0daa48eba0f47668b6f9d1be40882a9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* eslint-env worker */
// This file expects utils.js to be included in its scope
/* import-globals-from ./util.js */
importScripts("util.js");
importScripts("test-vectors.js");
var window = this;
function finish(result) {
postMessage(result);
}
function complete(test, valid) {
return function(x) {
if (valid) {
finish(valid(x));
} else {
finish(true);
}
};
}
function memcmp_complete(test, value) {
return function(x) {
finish(util.memcmp(x, value));
};
}
function error(test) {
return function(x) {
throw x;
};
}
onmessage = function(msg) {
// eslint-disable-next-line no-eval
var test = eval("(" + msg.data + ")");
try {
test.call({ complete: finish });
} catch (err) {
error(`Failed to run worker test: ${err}\n`);
}
};
|