aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/test
diff options
context:
space:
mode:
authorGravatar Jarred SUmner <jarred@jarredsumner.com> 2022-04-04 23:25:54 -0700
committerGravatar Jarred SUmner <jarred@jarredsumner.com> 2022-04-04 23:25:54 -0700
commit30542225c6e140c900078538a6a563561005411b (patch)
tree9a2c4d1b9b09441df9712d8d410e0810421f5a53 /src/javascript/jsc/test
parent759b6c18fdbaa3788dad0ccde0115e4dce1a6470 (diff)
downloadbun-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.zig10
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 };