Skip to content

Commit 95607ae

Browse files
upgrade runner to Zig 0.16.0 (#140)
1 parent aab2754 commit 95607ae

8 files changed

Lines changed: 21 additions & 24 deletions

File tree

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ARG REPO=alpine
22
ARG IMAGE=3.22.1@sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f
33
FROM ${REPO}:${IMAGE} AS builder
44

5-
ARG VERSION=0.15.2
5+
ARG VERSION=0.16.0
66
ARG RELEASE=zig-x86_64-linux-${VERSION}
77

88
# We can't reliably pin the package versions on Alpine, so we ignore the linter warning.

bin/run-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ for test_dir in "${tmp_dir}"/*; do
3434
# `expectError__anon_17425`), both of which vary between builds.
3535
# See: https://github.com/exercism/zig-test-runner/issues/26
3636
sed -E \
37-
-e 's/0x[a-f0-9]{6}/<MEMHASH>/g' \
37+
-e 's/0x[a-f0-9]+/<MEMHASH>/g' \
3838
-e 's/__anon_[0-9]+/__anon_<ANON>/g' \
3939
"${file}" > "${file}.tmp"
4040
done

tests/example-all-fail/expected_results.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,47 @@
55
{
66
"name": "year not divisible by 4 in common year",
77
"status": "fail",
8-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:7:5: <MEMHASH>a in test.year not divisible by 4 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(2015));\n ^"
8+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:7:5: <MEMHASH> in test.year not divisible by 4 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(2015));\n ^"
99
},
1010
{
1111
"name": "year divisible by 2, not divisible by 4 in common year",
1212
"status": "fail",
13-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:11:5: <MEMHASH>a in test.year divisible by 2, not divisible by 4 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1970));\n ^"
13+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:11:5: <MEMHASH> in test.year divisible by 2, not divisible by 4 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1970));\n ^"
1414
},
1515
{
1616
"name": "year divisible by 4, not divisible by 100 in leap year",
1717
"status": "fail",
18-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:15:5: <MEMHASH>8 in test.year divisible by 4, not divisible by 100 in leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(1996));\n ^"
18+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:15:5: <MEMHASH> in test.year divisible by 4, not divisible by 100 in leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(1996));\n ^"
1919
},
2020
{
2121
"name": "year divisible by 4 and 5 is still a leap year",
2222
"status": "fail",
23-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:19:5: <MEMHASH>8 in test.year divisible by 4 and 5 is still a leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(1960));\n ^"
23+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:19:5: <MEMHASH> in test.year divisible by 4 and 5 is still a leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(1960));\n ^"
2424
},
2525
{
2626
"name": "year divisible by 100, not divisible by 400 in common year",
2727
"status": "fail",
28-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:23:5: <MEMHASH>a in test.year divisible by 100, not divisible by 400 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(2100));\n ^"
28+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:23:5: <MEMHASH> in test.year divisible by 100, not divisible by 400 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(2100));\n ^"
2929
},
3030
{
3131
"name": "year divisible by 100 but not by 3 is still not a leap year",
3232
"status": "fail",
33-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:27:5: <MEMHASH>a in test.year divisible by 100 but not by 3 is still not a leap year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1900));\n ^"
33+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:27:5: <MEMHASH> in test.year divisible by 100 but not by 3 is still not a leap year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1900));\n ^"
3434
},
3535
{
3636
"name": "year divisible by 400 is leap year",
3737
"status": "fail",
38-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:31:5: <MEMHASH>8 in test.year divisible by 400 is leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(2000));\n ^"
38+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:31:5: <MEMHASH> in test.year divisible by 400 is leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(2000));\n ^"
3939
},
4040
{
4141
"name": "year divisible by 400 but not by 125 is still a leap year",
4242
"status": "fail",
43-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:35:5: <MEMHASH>8 in test.year divisible by 400 but not by 125 is still a leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(2400));\n ^"
43+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:35:5: <MEMHASH> in test.year divisible by 400 but not by 125 is still a leap year (test_example_all_fail.zig)\n try testing.expect(leap.leap(2400));\n ^"
4444
},
4545
{
4646
"name": "year divisible by 200, not divisible by 400 in common year",
4747
"status": "fail",
48-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:39:5: <MEMHASH>a in test.year divisible by 200, not divisible by 400 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1800));\n ^"
48+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_all_fail.zig:39:5: <MEMHASH> in test.year divisible by 200, not divisible by 400 in common year (test_example_all_fail.zig)\n try testing.expect(!leap.leap(1800));\n ^"
4949
}
5050
]
5151
}

tests/example-error-exercise/expected_results.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
{
2222
"name": "zero is an error",
2323
"status": "fail",
24-
"message": "FAIL (TestExpectedError)\n/opt/zig/lib/std/testing.zig:57:9: <MEMHASH>1 in expectError__anon_<ANON> (std.zig)\n return error.TestExpectedError;\n ^\ntest_example_error_exercise.zig:34:5: <MEMHASH>9 in test.zero is an error (test_example_error_exercise.zig)\n try testing.expectError(expected, actual);\n ^"
24+
"message": "FAIL (TestExpectedError)\n/opt/zig/lib/std/testing.zig:65:9: <MEMHASH> in expectError__anon_<ANON> (std.zig)\n return error.TestExpectedError;\n ^\ntest_example_error_exercise.zig:34:5: <MEMHASH> in test.zero is an error (test_example_error_exercise.zig)\n try testing.expectError(expected, actual);\n ^"
2525
}
2626
]
2727
}

tests/example-output-truncated/expected_results.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@
1010
{
1111
"name": "detects two anagrams",
1212
"status": "fail",
13-
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:110:17: <MEMHASH>9 in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH>d in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1137:9: <MEMHASH>7 in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, args);\n ^\ntest_example_output_truncated.zig:35:5: <MEMHASH>c in test.detects two anagrams (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
13+
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:118:17: <MEMHASH> in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\n/opt/zig/lib/std/testing.zig:83:5: <MEMHASH> in expectEqual (test_example_output_truncated.zig)\n return expectEqualInner(T, expected, actual);\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH> in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1124:9: <MEMHASH> in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, .{failing_allocator_inst.allocator()} ++ extra_args);\n ^\ntest_example_output_truncated.zig:35:5: <MEMHASH> in test.detects two anagrams (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
1414
"output": "lemons\ncherry\nmelons\nexpected 2, found 0"
1515
},
1616
{
1717
"name": "detects three anagrams",
1818
"status": "fail",
19-
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:110:17: <MEMHASH>9 in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH>d in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1137:9: <MEMHASH>7 in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, args);\n ^\ntest_example_output_truncated.zig:46:5: <MEMHASH>b in test.detects three anagrams (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
19+
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:118:17: <MEMHASH> in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\n/opt/zig/lib/std/testing.zig:83:5: <MEMHASH> in expectEqual (test_example_output_truncated.zig)\n return expectEqualInner(T, expected, actual);\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH> in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1124:9: <MEMHASH> in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, .{failing_allocator_inst.allocator()} ++ extra_args);\n ^\ntest_example_output_truncated.zig:46:5: <MEMHASH> in test.detects three anagrams (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
2020
"output": "gallery\nballerina\nregally\nclergy\nlargely\nleading\nexpected 3, found 0"
2121
},
2222
{
2323
"name": "detects anagrams case-insensitively",
2424
"status": "fail",
25-
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:110:17: <MEMHASH>9 in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH>d in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1137:9: <MEMHASH>7 in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, args);\n ^\ntest_example_output_truncated.zig:57:5: <MEMHASH>c in test.detects anagrams case-insensitively (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
25+
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:118:17: <MEMHASH> in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\n/opt/zig/lib/std/testing.zig:83:5: <MEMHASH> in expectEqual (test_example_output_truncated.zig)\n return expectEqualInner(T, expected, actual);\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH> in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1124:9: <MEMHASH> in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, .{failing_allocator_inst.allocator()} ++ extra_args);\n ^\ntest_example_output_truncated.zig:57:5: <MEMHASH> in test.detects anagrams case-insensitively (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
2626
"output": "cashregister\nCarthorse\nradishes\nexpected 1, found 0"
2727
},
2828
{
@@ -33,7 +33,7 @@
3333
{
3434
"name": "detects many anagrams of 26-letter words",
3535
"status": "fail",
36-
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:110:17: <MEMHASH>9 in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH>d in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1137:9: <MEMHASH>7 in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, args);\n ^\ntest_example_output_truncated.zig:99:5: <MEMHASH>b in test.detects many anagrams of 26-letter words (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
36+
"message": "FAIL (TestExpectedEqual)\n/opt/zig/lib/std/testing.zig:118:17: <MEMHASH> in expectEqualInner__anon_<ANON> (std.zig)\n return error.TestExpectedEqual;\n ^\n/opt/zig/lib/std/testing.zig:83:5: <MEMHASH> in expectEqual (test_example_output_truncated.zig)\n return expectEqualInner(T, expected, actual);\n ^\ntest_example_output_truncated.zig:14:5: <MEMHASH> in testAnagrams (test_example_output_truncated.zig)\n try testing.expectEqual(expected.len, actual.count());\n ^\n/opt/zig/lib/std/testing.zig:1124:9: <MEMHASH> in checkAllAllocationFailures__anon_<ANON> (std.zig)\n try @call(.auto, test_fn, .{failing_allocator_inst.allocator()} ++ extra_args);\n ^\ntest_example_output_truncated.zig:99:5: <MEMHASH> in test.detects many anagrams of 26-letter words (test_example_output_truncated.zig)\n try std.testing.checkAllAllocationFailures(\n ^",
3737
"output": "ZYXWVUTSRQPONMLKJIHGFEDCBA\nMNOPQRSTUVWXYZABCDEFGHIJKL\nBADCFEHGJILKNMPORQTSVUXWZY\nQWERTYUIOPASDFGHJKLZXCVBNM\nGHIJKLMNOPQRSTUVWXYZABCDEF\nSTUVWXYZABCDEFGHIJKLMNOPQR\nDCBAEFGHIJKLMNOPQRSTUVWXYZ\nAZBYCXDWEVFUGTHSIRJQKPLOMN\nZAYXBWCVDUESFTGRHQIPJOKLNM\nNMLKJIHGFEDCBAZYXWVUTSRQPO\nBDFHJLNPRTVXZACEGIKMOQSUWY\nYWUSQOMKIGECAXZVTRPNLJHFDB\nJKLMNOPQRSTUVWXYZABCDEFGHI\nPONMLKJIHGFEDCBAZYXWVUTSRQ\nLKJIHGFEDCBAZYXWVUTSRQPONM\nCDEFGHIJKLMNOPQRSTUVWXYZAB\nEFGHIJKLMNOPQRSTUVWXYZABCD\nIJKLMNOPQRSTUVWXYZABCD [output truncated]"
3838
}
3939
]

tests/example-partial-fail/expected_results.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
{
2222
"name": "year divisible by 100, not divisible by 400 in common year",
2323
"status": "fail",
24-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:23:5: <MEMHASH>a in test.year divisible by 100, not divisible by 400 in common year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(2100));\n ^"
24+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:23:5: <MEMHASH> in test.year divisible by 100, not divisible by 400 in common year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(2100));\n ^"
2525
},
2626
{
2727
"name": "year divisible by 100 but not by 3 is still not a leap year",
2828
"status": "fail",
29-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:27:5: <MEMHASH>a in test.year divisible by 100 but not by 3 is still not a leap year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(1900));\n ^"
29+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:27:5: <MEMHASH> in test.year divisible by 100 but not by 3 is still not a leap year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(1900));\n ^"
3030
},
3131
{
3232
"name": "year divisible by 400 is leap year",
@@ -39,7 +39,7 @@
3939
{
4040
"name": "year divisible by 200, not divisible by 400 in common year",
4141
"status": "fail",
42-
"message": "/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:39:5: <MEMHASH>a in test.year divisible by 200, not divisible by 400 in common year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(1800));\n ^"
42+
"message": "/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_partial_fail.zig:39:5: <MEMHASH> in test.year divisible by 200, not divisible by 400 in common year (test_example_partial_fail.zig)\n try testing.expect(!leap.leap(1800));\n ^"
4343
}
4444
]
4545
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
const std = @import("std");
22

33
pub fn greet() ![]const u8 {
4-
var buf: [64]u8 = undefined;
5-
var w = std.fs.File.stdout().writer(&buf);
6-
try w.interface.writeAll("debug: computed bad greeting\n");
7-
try w.interface.flush();
4+
std.debug.print("debug: computed bad greeting\n", .{});
85
return "Goodbye";
96
}

tests/example-user-output/expected_results.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{
66
"name": "greet returns a five-letter greeting",
77
"status": "fail",
8-
"message": "FAIL (TestUnexpectedResult)\n/opt/zig/lib/std/testing.zig:607:14: <MEMHASH>9 in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_user_output.zig:8:5: <MEMHASH>5 in test.greet returns a five-letter greeting (test_example_user_output.zig)\n try testing.expect(result.len == 5);\n ^",
8+
"message": "FAIL (TestUnexpectedResult)\n/opt/zig/lib/std/testing.zig:615:14: <MEMHASH> in expect (std.zig)\n if (!ok) return error.TestUnexpectedResult;\n ^\ntest_example_user_output.zig:8:5: <MEMHASH> in test.greet returns a five-letter greeting (test_example_user_output.zig)\n try testing.expect(result.len == 5);\n ^",
99
"output": "debug: computed bad greeting"
1010
}
1111
]

0 commit comments

Comments
 (0)