diff options
| author | 2022-04-04 23:25:54 -0700 | |
|---|---|---|
| committer | 2022-04-04 23:25:54 -0700 | |
| commit | 30542225c6e140c900078538a6a563561005411b (patch) | |
| tree | 9a2c4d1b9b09441df9712d8d410e0810421f5a53 /src/javascript/jsc/test | |
| parent | 759b6c18fdbaa3788dad0ccde0115e4dce1a6470 (diff) | |
| download | bun-30542225c6e140c900078538a6a563561005411b.tar.gz bun-30542225c6e140c900078538a6a563561005411b.tar.zst bun-30542225c6e140c900078538a6a563561005411b.zip | |
fix bug with io sometimes sleeping permanetly
Diffstat (limited to 'src/javascript/jsc/test')
| -rw-r--r-- | src/javascript/jsc/test/jest.zig | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/javascript/jsc/test/jest.zig b/src/javascript/jsc/test/jest.zig index 63f55d9e1..1857f3e2a 100644 --- a/src/javascript/jsc/test/jest.zig +++ b/src/javascript/jsc/test/jest.zig @@ -675,7 +675,7 @@ pub const TestScope = struct { return .{ .fail = this.counter.actual }; } - if (!initial_value.isUndefinedOrNull()) { + if (!initial_value.isEmptyOrUndefinedOrNull() and (initial_value.asPromise() != null or initial_value.asInternalPromise() != null)) { if (this.promise != null) { return .{ .pending = .{} }; } @@ -685,12 +685,8 @@ pub const TestScope = struct { this.promise = null; } - var status = JSC.JSPromise.Status.Pending; - var vm_ptr = vm.global.vm(); - while (this.promise != null and status == JSC.JSPromise.Status.Pending) : (status = this.promise.?.status(vm_ptr)) { - vm.tick(); - } - switch (status) { + vm.waitForPromise(this.promise.?); + switch (this.promise.?.status(vm.global.vm())) { .Rejected => { vm.defaultErrorHandler(this.promise.?.result(vm.global.vm()), null); return .{ .fail = this.counter.actual }; |
