1- /* eslint-disable @typescript-eslint/no-floating-promises */
2-
1+ import { deepStrictEqual , ifError , ok } from 'node:assert'
2+ import { test } from 'node:test'
33import { isMainThread } from 'node:worker_threads'
4- import t from 'tap'
54import { cronometro , percentiles } from '../src/index.js'
65
7- async function main ( ) : Promise < void > {
8- await new Promise ( resolve => setTimeout ( resolve , 100 ) )
6+ await new Promise ( resolve => setTimeout ( resolve , 100 ) )
97
10- if ( ! isMainThread ) {
11- cronometro (
8+ if ( ! isMainThread ) {
9+ cronometro (
10+ {
11+ single ( ) {
12+ Buffer . alloc ( 10 )
13+ } ,
14+ multiple ( ) {
15+ Buffer . alloc ( 10 )
16+ Buffer . alloc ( 20 )
17+ }
18+ } ,
19+ ( ) => false
20+ )
21+ } else {
22+ await test ( 'Collecting results' , async ( ) => {
23+ const results = await cronometro (
1224 {
1325 single ( ) {
1426 Buffer . alloc ( 10 )
@@ -18,43 +30,24 @@ async function main(): Promise<void> {
1830 Buffer . alloc ( 20 )
1931 }
2032 } ,
21- ( ) => false
33+ { iterations : 10 , print : false }
2234 )
23- } else {
24- t . test ( 'Collecting results' , async t => {
25- const results = await cronometro (
26- {
27- single ( ) {
28- Buffer . alloc ( 10 )
29- } ,
30- multiple ( ) {
31- Buffer . alloc ( 10 )
32- Buffer . alloc ( 20 )
33- }
34- } ,
35- { iterations : 10 , print : false }
36- )
3735
38- t . strictSame ( Object . keys ( results ) , [ 'single' , 'multiple' ] )
36+ deepStrictEqual ( Object . keys ( results ) , [ 'single' , 'multiple' ] )
3937
40- for ( const entry of Object . values ( results ) ) {
41- t . ok ( entry . success )
42- t . type ( entry . error , 'undefined' )
43- t . equal ( entry . size , 10 )
44- t . type ( entry . min , 'number' )
45- t . type ( entry . max , 'number' )
46- t . type ( entry . mean , 'number' )
47- t . type ( entry . stddev , 'number' )
48- t . type ( entry . standardError , 'number' )
38+ for ( const entry of Object . values ( results ) ) {
39+ ok ( entry . success )
40+ ifError ( entry . error )
41+ deepStrictEqual ( entry . size , 10 )
42+ deepStrictEqual ( typeof entry . min , 'number' )
43+ deepStrictEqual ( typeof entry . max , 'number' )
44+ deepStrictEqual ( typeof entry . mean , 'number' )
45+ deepStrictEqual ( typeof entry . stddev , 'number' )
46+ deepStrictEqual ( typeof entry . standardError , 'number' )
4947
50- for ( const percentile of percentiles ) {
51- t . type ( entry . percentiles [ percentile . toString ( ) ] , 'number' )
52- }
48+ for ( const percentile of percentiles ) {
49+ ok ( typeof entry . percentiles [ percentile . toString ( ) ] , 'number' )
5350 }
54- } )
55- }
51+ }
52+ } )
5653}
57-
58- main ( )
59-
60- export default main
0 commit comments