✓
Passing This code compiles and runs correctly.
Code
// ============================================================================
// VERIFIED REGRESSION TEST - DO NOT MODIFY WITHOUT DISCUSSION
// ============================================================================
// Test: Void events (no branches) in flows
// Search: parseVoidEvent void-event no_branches
// ============================================================================
const std = @import("std");
// Counter to verify void events actually execute
var setup_count: i32 = 0;
var cleanup_count: i32 = 0;
var process_count: i32 = 0;
// Void events have no output branches
~tor setup {}
~proc setup|zig {
setup_count += 1;
std.debug.print("Setup: count={}\n", .{setup_count});
}
~tor cleanup {}
~proc cleanup|zig {
cleanup_count += 1;
std.debug.print("Cleanup: count={}\n", .{cleanup_count});
}
~tor process {}
~proc process|zig {
process_count += 1;
std.debug.print("Process: count={}\n", .{process_count});
}
// Test void events in flows
// Call setup once
~setup()
// Call process three times
~process()
~process()
~process()
// Call cleanup once
~cleanup()
// Verify with a regular event
~tor verify {}
~proc verify|zig {
if (setup_count == 1 and process_count == 3 and cleanup_count == 1) {
std.debug.print("Void events work correctly\n", .{});
} else {
std.debug.print("FAILED: setup={}, process={}, cleanup={}\n", .{setup_count, process_count, cleanup_count});
}
}
~verify()Actual
Setup: count=1
Process: count=1
Process: count=2
Process: count=3
Cleanup: count=1
Void events work correctly
Expected output
Setup: count=1
Process: count=1
Process: count=2
Process: count=3
Cleanup: count=1
Void events work correctlyFlows
flow ~setup click a branch to expand · @labels scroll to their anchor
setup
flow ~process click a branch to expand · @labels scroll to their anchor
process
flow ~process click a branch to expand · @labels scroll to their anchor
process
flow ~process click a branch to expand · @labels scroll to their anchor
process
flow ~cleanup click a branch to expand · @labels scroll to their anchor
cleanup
flow ~verify click a branch to expand · @labels scroll to their anchor
verify
Test Configuration
MUST_RUN