File size: 973 Bytes
befd7da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
var test = require('tap').test;
var format = require('util').format;
var dtest = require('./dtrace-test').dtraceTest;

test(
    'probes with json type',
    dtest(
        function() { },
        [
            'dtrace', '-Zqn',
            'nodeapp$target:::json1{ this->j = copyinstr(arg0); printf("%s\\n%d\\n%s\\n", this->j, strtoll(json(this->j, "foo")), json(this->j, "bar")) }',
            '-c', format('node %s/json-args_fire.js', __dirname)
        ],
        function(t, exit_code, traces) {
            // skip if dtrace failed; assume no json() sub
            skip = exit_code == 0 ? 0 : 1;

            t.test("json tests, need json() subroutine", {"skip": skip}, function (t) {
                t.notOk(exit_code, 'dtrace exited cleanly');
                t.equal(traces[0], '{"foo":42,"bar":"forty-two"}');
                t.equal(traces[1], '42');
                t.equal(traces[2], 'forty-two');
                t.end();
            });
        }
    )
);