Skip to content

Commit 635423a

Browse files
authored
Don't create the binding every test. (#127)
1 parent 1582535 commit 635423a

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

src/ops/op_utils.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,14 @@ import {isArray, isNullOrUndefined} from 'util';
2121
import {NodeJSKernelBackend} from '../nodejs_kernel_backend';
2222
import {TFEOpAttr} from '../tfjs_binding';
2323

24+
let gBackend: NodeJSKernelBackend = null;
25+
2426
/** Returns an instance of the Node.js backend. */
2527
export function nodeBackend(): NodeJSKernelBackend {
26-
return (tfc.ENV.findBackend('tensorflow') as NodeJSKernelBackend);
28+
if (gBackend === null) {
29+
gBackend = (tfc.ENV.findBackend('tensorflow') as NodeJSKernelBackend);
30+
}
31+
return gBackend;
2732
}
2833

2934
/** Returns the TF dtype for a given DataType. */

src/run_tests.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,15 @@ Error.stackTraceLimit = Infinity;
2222

2323
// tslint:disable-next-line:no-require-imports
2424
const jasmineCtor = require('jasmine');
25-
2625
// tslint:disable-next-line:no-require-imports
27-
import bindings = require('bindings');
28-
import {TFJSBinding} from './tfjs_binding';
29-
import {NodeJSKernelBackend} from './nodejs_kernel_backend';
26+
import {nodeBackend} from './ops/op_utils';
3027

3128
process.on('unhandledRejection', e => {
3229
throw e;
3330
});
3431

35-
jasmine_util.setTestEnvs([{
36-
name: 'test-tensorflow',
37-
factory: () =>
38-
new NodeJSKernelBackend(bindings('tfjs_binding.node') as TFJSBinding),
39-
features: {}
40-
}]);
32+
jasmine_util.setTestEnvs(
33+
[{name: 'test-tensorflow', factory: () => nodeBackend(), features: {}}]);
4134

4235
const IGNORE_LIST: string[] = [
4336
// See https://github.com/tensorflow/tfjs/issues/161
@@ -72,6 +65,6 @@ env.specFilter = spec => {
7265
};
7366

7467
// TODO(kreeger): Consider moving to C-code.
75-
console.log(`Running tests against TensorFlow: ${
76-
(bindings('tfjs_binding.node') as TFJSBinding).TF_Version}`);
68+
console.log(
69+
`Running tests against TensorFlow: ${nodeBackend().binding.TF_Version}`);
7770
runner.execute();

0 commit comments

Comments
 (0)