function section(section_type, name, testcase) { testcase = Io.of().chain(testcase); if( name ) { testcase = instrument(testcase, metrics.tags.generic(section_type + 'Completion', name)); testcase = Io.local(receiver => receiver.tag(metrics.tags.generic(section_type, name)), testcase); } return testcase; }
// // This is an *extremely* simple testcase used to manually exercise the command // line interface. // 'use strict'; const L = require('./src'); const instrument = require('legion-instrument'); const metrics = require('legion-metrics'); const exampleWait = instrument.wrap((min,max) => { min *= 1000; max *= 1000; return new Promise((resolve,reject) => { setTimeout(resolve, Math.random()*(max-min)+min); }); }, metrics.tags.generic('exampleWait', 'exampleWait')); const exampleTestcase = () => { return L.of() .chain(() => exampleWait(1,5)) .chain(() => exampleWait(2,3)) .chain(() => exampleWait(0.5,15)); } L.create() .testcase(exampleTestcase()) .main();
module.exports = function(name, testcase) { testcase = Io.of().chain(testcase); testcase = instrument(testcase, metrics.tags.generic('testcaseCompletion', name)); return Io.local(function(receiver) { return receiver.tag(metrics.tags.generic('testcase', name)); }, testcase); };
testcase = Io.local(receiver => receiver.tag(metrics.tags.generic(section_type, name)), testcase);
return Io.local(function(receiver) { return receiver.tag(metrics.tags.generic('testcase', name)); }, testcase);