zig/test/incremental/change_embed_file
Andrew Kelley 0403f9647b std: different mechanism for disabling network dependency
On Windows, it is sometimes problematic to depend on ws2_32.dll. Before,
users of std.Io.Threaded would have to call ioBasic() rather than io()
in order to avoid unnecessary dependencies on ws2_32.dll. Now, the
application can disable networking with std.Options.

This change is necessary due to moving networking functionality to
be based on Io.Operation, which is a tagged union.
2026-03-05 22:36:33 -08:00

50 lines
1.4 KiB
Text

#target=x86_64-linux-selfhosted
#target=x86_64-windows-selfhosted
#target=x86_64-linux-cbe
#target=x86_64-windows-cbe
#target=wasm32-wasi-selfhosted
#update=initial version
#file=main.zig
const std = @import("std");
const string = @embedFile("string.txt");
pub fn main() !void {
try std.Io.File.stdout().writeStreamingAll(io, string);
}
const io = std.Io.Threaded.global_single_threaded.io();
#file=string.txt
Hello, World!
#expect_stdout="Hello, World!\n"
#update=change file contents
#file=string.txt
Hello again, World!
#expect_stdout="Hello again, World!\n"
#update=delete file
#rm_file=string.txt
#expect_error=main.zig:2:27: error: unable to open 'string.txt': FileNotFound
#update=remove reference to file
#file=main.zig
const std = @import("std");
const string = @embedFile("string.txt");
pub fn main() !void {
try std.Io.File.stdout().writeStreamingAll(io, "a hardcoded string\n");
}
const io = std.Io.Threaded.global_single_threaded.io();
#expect_stdout="a hardcoded string\n"
#update=re-introduce reference to file
#file=main.zig
const std = @import("std");
const string = @embedFile("string.txt");
pub fn main() !void {
try std.Io.File.stdout().writeStreamingAll(io, string);
}
const io = std.Io.Threaded.global_single_threaded.io();
#expect_error=main.zig:2:27: error: unable to open 'string.txt': FileNotFound
#update=recreate file
#file=string.txt
We're back, World!
#expect_stdout="We're back, World!\n"