xref: /aosp_15_r20/external/skia/modules/canvaskit/karma.bazel.js (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerconst path = require('path');
2*c8dee2aaSAndroid Build Coastguard Workerconst fs = require('fs')
3*c8dee2aaSAndroid Build Coastguard Worker// This should be a file created by gold_test_env.go which contains the port number
4*c8dee2aaSAndroid Build Coastguard Worker// on which it is listening. For whatever reason, karma was not happy serving the
5*c8dee2aaSAndroid Build Coastguard Worker// port file directly, but reading it in and then adding it as a proxy seems to
6*c8dee2aaSAndroid Build Coastguard Worker// work fine.
7*c8dee2aaSAndroid Build Coastguard Workerconst testOnEnvPortPath = path.join(process.env['ENV_DIR'], 'port');
8*c8dee2aaSAndroid Build Coastguard Workerconst port = fs.readFileSync(testOnEnvPortPath, 'utf8').toString();
9*c8dee2aaSAndroid Build Coastguard Workerconsole.log('test_on_env PORT:', port);
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workermodule.exports = function(config) {
12*c8dee2aaSAndroid Build Coastguard Worker  // http://karma-runner.github.io/6.3/config/configuration-file.html
13*c8dee2aaSAndroid Build Coastguard Worker  let cfg = {
14*c8dee2aaSAndroid Build Coastguard Worker    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
15*c8dee2aaSAndroid Build Coastguard Worker    frameworks: ['jasmine'],
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard Worker    proxies: {
18*c8dee2aaSAndroid Build Coastguard Worker      // The tests will make calls to /gold_rpc/whatever and they will be redirected
19*c8dee2aaSAndroid Build Coastguard Worker      // to the correct location.
20*c8dee2aaSAndroid Build Coastguard Worker      '/gold_rpc/': `http://localhost:${port}/`,
21*c8dee2aaSAndroid Build Coastguard Worker      // This makes it more convenient for tests to load the test assets.
22*c8dee2aaSAndroid Build Coastguard Worker      '/assets/': '/static/skia/modules/canvaskit/tests/assets/',
23*c8dee2aaSAndroid Build Coastguard Worker    },
24*c8dee2aaSAndroid Build Coastguard Worker
25*c8dee2aaSAndroid Build Coastguard Worker    // possible values: 'dots', 'progress'
26*c8dee2aaSAndroid Build Coastguard Worker    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
27*c8dee2aaSAndroid Build Coastguard Worker    reporters: ['progress'],
28*c8dee2aaSAndroid Build Coastguard Worker    colors: true,
29*c8dee2aaSAndroid Build Coastguard Worker    logLevel: config.LOG_INFO,
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Worker    browserDisconnectTimeout: 20000,
32*c8dee2aaSAndroid Build Coastguard Worker    browserNoActivityTimeout: 20000,
33*c8dee2aaSAndroid Build Coastguard Worker
34*c8dee2aaSAndroid Build Coastguard Worker    // How many browsers should be started simultaneous
35*c8dee2aaSAndroid Build Coastguard Worker    concurrency: Infinity,
36*c8dee2aaSAndroid Build Coastguard Worker  };
37*c8dee2aaSAndroid Build Coastguard Worker
38*c8dee2aaSAndroid Build Coastguard Worker  // Bazel will inject some code here to add/change the following items:
39*c8dee2aaSAndroid Build Coastguard Worker  //  - files
40*c8dee2aaSAndroid Build Coastguard Worker  //  - proxies
41*c8dee2aaSAndroid Build Coastguard Worker  //  - browsers
42*c8dee2aaSAndroid Build Coastguard Worker  //  - basePath
43*c8dee2aaSAndroid Build Coastguard Worker  //  - singleRun
44*c8dee2aaSAndroid Build Coastguard Worker  //  - plugins
45*c8dee2aaSAndroid Build Coastguard Worker  BAZEL_APPLY_SETTINGS(cfg);
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard Worker  config.set(cfg);
48*c8dee2aaSAndroid Build Coastguard Worker};
49