commit bb4cb342048a9feee7e5408c4f444439197a96af (tree)
parent 0a8b7ad368ac3933048614a87f0398b5e4768acc
Author: kcbanner <kcbanner@gmail.com>
Date: Sun, 8 Jan 2023 22:38:03 -0500
test: fix "chdir smoke test" comparing paths with potentially different drive letter cases
Diffstat:
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/std/os/test.zig b/lib/std/os/test.zig
@@ -64,7 +64,14 @@ test "chdir smoke test" {
var new_cwd_buf: [fs.MAX_PATH_BYTES]u8 = undefined;
const new_cwd = try os.getcwd(new_cwd_buf[0..]);
- try expect(mem.eql(u8, tmp_dir_path, new_cwd));
+
+ // On Windows, fs.path.resolve returns an uppercase drive letter, but the drive letter returned by getcwd may be lowercase
+ var resolved_cwd_buf: [fs.MAX_PATH_BYTES]u8 = undefined;
+ var resolved_cwd = path: {
+ var allocator = std.heap.FixedBufferAllocator.init(&resolved_cwd_buf);
+ break :path try fs.path.resolve(allocator.allocator(), &[_][]const u8{new_cwd});
+ };
+ try expect(mem.eql(u8, tmp_dir_path, resolved_cwd));
// Restore cwd because process may have other tests that do not tolerate chdir.
tmp_dir.close();