Commit c8e0095362

mochalins <117967760+mochalins@users.noreply.github.com>
2024-07-09 04:25:19
test: Add `spawn` behavior test
1 parent 6446596
Changed files (2)
lib
lib/std/Thread/Pool.zig
@@ -254,6 +254,27 @@ pub fn spawn(pool: *Pool, comptime func: anytype, args: anytype) !void {
     pool.cond.signal();
 }
 
+test spawn {
+    const TestFn = struct {
+        fn checkRun(completed: *bool) void {
+            completed.* = true;
+        }
+    };
+
+    var completed: bool = false;
+
+    {
+        var pool: Pool = undefined;
+        try pool.init(.{
+            .allocator = std.testing.allocator,
+        });
+        defer pool.deinit();
+        try pool.spawn(TestFn.checkRun, .{&completed});
+    }
+
+    try std.testing.expectEqual(true, completed);
+}
+
 fn worker(pool: *Pool) void {
     pool.mutex.lock();
     defer pool.mutex.unlock();
lib/std/Thread.zig
@@ -1465,6 +1465,7 @@ test {
     _ = Semaphore;
     _ = Condition;
     _ = RwLock;
+    _ = Pool;
 }
 
 fn testIncrementNotify(value: *usize, event: *ResetEvent) void {