• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const cp = require('child_process');
5
6const CODE = `
7  const { internalBinding } = require('internal/test/binding');
8  const { isTraceCategoryEnabled } = internalBinding('trace_events');
9  console.log(
10    isTraceCategoryEnabled("custom")
11  );
12`;
13
14const tmpdir = require('../common/tmpdir');
15tmpdir.refresh();
16
17const procEnabled = cp.spawn(
18  process.execPath,
19  [ '--trace-event-categories', 'custom',
20    // Make test less noisy since internal/test/binding
21    // emits a warning.
22    '--no-warnings',
23    '--expose-internals',
24    '-e', CODE ],
25  { cwd: tmpdir.path }
26);
27let procEnabledOutput = '';
28
29procEnabled.stdout.on('data', (data) => procEnabledOutput += data);
30procEnabled.stderr.pipe(process.stderr);
31procEnabled.once('close', common.mustCall(() => {
32  assert.strictEqual(procEnabledOutput, 'true\n');
33}));
34
35const procDisabled = cp.spawn(
36  process.execPath,
37  [ '--trace-event-categories', 'other',
38    // Make test less noisy since internal/test/binding
39    // emits a warning.
40    '--no-warnings',
41    '--expose-internals',
42    '-e', CODE ],
43  { cwd: tmpdir.path }
44);
45let procDisabledOutput = '';
46
47procDisabled.stdout.on('data', (data) => procDisabledOutput += data);
48procDisabled.stderr.pipe(process.stderr);
49procDisabled.once('close', common.mustCall(() => {
50  assert.strictEqual(procDisabledOutput, 'false\n');
51}));
52