mirror of
https://github.com/hanzoai/node-dtrace-provider.git
synced 2026-09-23 23:48:45 +00:00
28 lines
973 B
JavaScript
28 lines
973 B
JavaScript
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();
|
|
});
|
|
}
|
|
)
|
|
);
|