summaryrefslogtreecommitdiff
path: root/integrationtests/harness_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 20:07:10 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 20:07:10 +0200
commit2f0ac27ec92840cab408e5f5a71d225be070cc0f (patch)
treec1c6e879208b2b35dedc9690ab077bc36cfcd585 /integrationtests/harness_test.go
parent5824a1959b27643575c5b1335f211687566b8449 (diff)
Verify harness handles workload crash/nonzero exit (task 343)
Add crash scenario to ioworkload that exits non-zero, and a test verifying the harness returns a clear error mentioning 'workload', reports a valid PID, and returns no records. Amp-Thread-ID: https://ampcode.com/threads/T-019c815e-6fb6-714a-a4db-37522416ea9a Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'integrationtests/harness_test.go')
-rw-r--r--integrationtests/harness_test.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/integrationtests/harness_test.go b/integrationtests/harness_test.go
new file mode 100644
index 0000000..813e9d6
--- /dev/null
+++ b/integrationtests/harness_test.go
@@ -0,0 +1,23 @@
+package integrationtests
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestWorkloadCrashReportsError(t *testing.T) {
+ h := newTestHarness(t)
+ result, pid, err := h.Run("crash", 5)
+ if err == nil {
+ t.Fatal("expected error from crashed workload, got nil")
+ }
+ if pid == 0 {
+ t.Fatal("expected non-zero PID from started workload")
+ }
+ if !strings.Contains(err.Error(), "workload") {
+ t.Errorf("error should mention workload, got: %v", err)
+ }
+ if len(result.Records) != 0 {
+ t.Errorf("expected no records from crashed workload, got %d", len(result.Records))
+ }
+}