update usage of std.testing in behavior and standalone tests
This commit is contained in:
28
test/cli.zig
28
test/cli.zig
@@ -29,7 +29,7 @@ pub fn main() !void {
|
||||
|
||||
const dir_path = try fs.path.join(a, &[_][]const u8{ cache_root, "clitest" });
|
||||
defer fs.cwd().deleteTree(dir_path) catch {};
|
||||
|
||||
|
||||
const TestFn = fn ([]const u8, []const u8) anyerror!void;
|
||||
const test_fns = [_]TestFn{
|
||||
testZigInitLib,
|
||||
@@ -94,13 +94,13 @@ fn exec(cwd: []const u8, expect_0: bool, argv: []const []const u8) !ChildProcess
|
||||
fn testZigInitLib(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
_ = try exec(dir_path, true, &[_][]const u8{ zig_exe, "init-lib" });
|
||||
const test_result = try exec(dir_path, true, &[_][]const u8{ zig_exe, "build", "test" });
|
||||
testing.expectStringEndsWith(test_result.stderr, "All 1 tests passed.\n");
|
||||
try testing.expectStringEndsWith(test_result.stderr, "All 1 tests passed.\n");
|
||||
}
|
||||
|
||||
fn testZigInitExe(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
_ = try exec(dir_path, true, &[_][]const u8{ zig_exe, "init-exe" });
|
||||
const run_result = try exec(dir_path, true, &[_][]const u8{ zig_exe, "build", "run" });
|
||||
testing.expectEqualStrings("info: All your codebase are belong to us.\n", run_result.stderr);
|
||||
try testing.expectEqualStrings("info: All your codebase are belong to us.\n", run_result.stderr);
|
||||
}
|
||||
|
||||
fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) anyerror!void {
|
||||
@@ -136,9 +136,9 @@ fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) anyerror!void {
|
||||
_ = try exec(dir_path, true, args.items);
|
||||
|
||||
const out_asm = try std.fs.cwd().readFileAlloc(a, example_s_path, std.math.maxInt(usize));
|
||||
testing.expect(std.mem.indexOf(u8, out_asm, "square:") != null);
|
||||
testing.expect(std.mem.indexOf(u8, out_asm, "mov\teax, edi") != null);
|
||||
testing.expect(std.mem.indexOf(u8, out_asm, "imul\teax, edi") != null);
|
||||
try testing.expect(std.mem.indexOf(u8, out_asm, "square:") != null);
|
||||
try testing.expect(std.mem.indexOf(u8, out_asm, "mov\teax, edi") != null);
|
||||
try testing.expect(std.mem.indexOf(u8, out_asm, "imul\teax, edi") != null);
|
||||
}
|
||||
|
||||
fn testMissingOutputPath(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
@@ -149,7 +149,7 @@ fn testMissingOutputPath(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
const result = try exec(dir_path, false, &[_][]const u8{ zig_exe, "build-exe", source_path, output_arg });
|
||||
const s = std.fs.path.sep_str;
|
||||
const expected: []const u8 = "error: unable to open output directory 'does" ++ s ++ "not" ++ s ++ "exist': FileNotFound\n";
|
||||
testing.expectEqualStrings(expected, result.stderr);
|
||||
try testing.expectEqualStrings(expected, result.stderr);
|
||||
}
|
||||
|
||||
fn testZigFmt(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
@@ -162,20 +162,20 @@ fn testZigFmt(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
|
||||
const run_result1 = try exec(dir_path, true, &[_][]const u8{ zig_exe, "fmt", fmt1_zig_path });
|
||||
// stderr should be file path + \n
|
||||
testing.expect(std.mem.startsWith(u8, run_result1.stdout, fmt1_zig_path));
|
||||
testing.expect(run_result1.stdout.len == fmt1_zig_path.len + 1 and run_result1.stdout[run_result1.stdout.len - 1] == '\n');
|
||||
try testing.expect(std.mem.startsWith(u8, run_result1.stdout, fmt1_zig_path));
|
||||
try testing.expect(run_result1.stdout.len == fmt1_zig_path.len + 1 and run_result1.stdout[run_result1.stdout.len - 1] == '\n');
|
||||
|
||||
const fmt2_zig_path = try fs.path.join(a, &[_][]const u8{ dir_path, "fmt2.zig" });
|
||||
try fs.cwd().writeFile(fmt2_zig_path, unformatted_code);
|
||||
|
||||
const run_result2 = try exec(dir_path, true, &[_][]const u8{ zig_exe, "fmt", dir_path });
|
||||
// running it on the dir, only the new file should be changed
|
||||
testing.expect(std.mem.startsWith(u8, run_result2.stdout, fmt2_zig_path));
|
||||
testing.expect(run_result2.stdout.len == fmt2_zig_path.len + 1 and run_result2.stdout[run_result2.stdout.len - 1] == '\n');
|
||||
try testing.expect(std.mem.startsWith(u8, run_result2.stdout, fmt2_zig_path));
|
||||
try testing.expect(run_result2.stdout.len == fmt2_zig_path.len + 1 and run_result2.stdout[run_result2.stdout.len - 1] == '\n');
|
||||
|
||||
const run_result3 = try exec(dir_path, true, &[_][]const u8{ zig_exe, "fmt", dir_path });
|
||||
// both files have been formatted, nothing should change now
|
||||
testing.expect(run_result3.stdout.len == 0);
|
||||
try testing.expect(run_result3.stdout.len == 0);
|
||||
|
||||
// Check UTF-16 decoding
|
||||
const fmt4_zig_path = try fs.path.join(a, &[_][]const u8{ dir_path, "fmt4.zig" });
|
||||
@@ -183,6 +183,6 @@ fn testZigFmt(zig_exe: []const u8, dir_path: []const u8) !void {
|
||||
try fs.cwd().writeFile(fmt4_zig_path, unformatted_code_utf16);
|
||||
|
||||
const run_result4 = try exec(dir_path, true, &[_][]const u8{ zig_exe, "fmt", dir_path });
|
||||
testing.expect(std.mem.startsWith(u8, run_result4.stdout, fmt4_zig_path));
|
||||
testing.expect(run_result4.stdout.len == fmt4_zig_path.len + 1 and run_result4.stdout[run_result4.stdout.len - 1] == '\n');
|
||||
try testing.expect(std.mem.startsWith(u8, run_result4.stdout, fmt4_zig_path));
|
||||
try testing.expect(run_result4.stdout.len == fmt4_zig_path.len + 1 and run_result4.stdout[run_result4.stdout.len - 1] == '\n');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user