sinonjs/sinon

Sinon fails in comparing call order when running tests in parallel

Closed

#2,472 opened on Sep 17, 2022

 (11 comments) (0 reactions) (0 assignees)JavaScript (764 forks)batch import
BugDifficulty: EasyHelp wantedImprovementgood first issue

Repository metrics

Stars
 (9,548 stars)
PR merge metrics
 (Avg merge 6d 16h) (15 merged PRs in 30d)

Description

Describe the bug

spy1.calledImmediatelyBefore(spy2) fails when used in a node-tap test suite that is being executed in parallel. In serial mode it works without issue. calledBefore continues to work as normal.

I've even tried using sandboxes for each test but it did not fix the issue.

To Reproduce

Repo: https://github.com/Ethan-Arrowood/sinon-spy-parallel-bug-reproduction

git clone https://github.com/Ethan-Arrowood/sinon-spy-parallel-bug-reproduction
cd sinon-spy-parallel-bug-reproduction
pnpm install
pnpm run test

To see tests passing comment out line 27 in test/index.ts:

+ // tap.jobs = 2;
- tap.jobs = 2;

Expected behavior

I'd expect my spy assertions to pass in both serial and parallel mode

Context (please complete the following information):

  • Library version: 14.0.0
  • Environment: Node.js 18
  • Example URL:
  • Other libraries you are using: node-tap, typescript

Contributor guide