aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-09-24 17:33:06 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-09-24 17:33:06 -0700
commit42aa1ea115eca3dcc704eddf020ce87271a41174 (patch)
tree3242b53425c599af929446e6776a2f6b3a0c6966 /test
parent87fd502fb68f8f488e6eba6b1f7d70902d6bfe5a (diff)
downloadzig-42aa1ea115eca3dcc704eddf020ce87271a41174.tar.gz
zig-42aa1ea115eca3dcc704eddf020ce87271a41174.zip
stage2: implement `@memset` and `@memcpy` builtins
Diffstat (limited to 'test')
-rw-r--r--test/behavior/basic.zig18
-rw-r--r--test/behavior/misc.zig10
2 files changed, 18 insertions, 10 deletions
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig
index 517162c8d4..f6876e29ad 100644
--- a/test/behavior/basic.zig
+++ b/test/behavior/basic.zig
@@ -170,3 +170,21 @@ test "string concatenation" {
test "array mult operator" {
try expect(mem.eql(u8, "ab" ** 5, "ababababab"));
}
+
+test "memcpy and memset intrinsics" {
+ try testMemcpyMemset();
+ // TODO add comptime test coverage
+ //comptime try testMemcpyMemset();
+}
+
+fn testMemcpyMemset() !void {
+ var foo: [20]u8 = undefined;
+ var bar: [20]u8 = undefined;
+
+ @memset(&foo, 'A', foo.len);
+ @memcpy(&bar, &foo, bar.len);
+
+ try expect(bar[0] == 'A');
+ try expect(bar[11] == 'A');
+ try expect(bar[19] == 'A');
+}
diff --git a/test/behavior/misc.zig b/test/behavior/misc.zig
index 5394e6fd14..9b3bf48366 100644
--- a/test/behavior/misc.zig
+++ b/test/behavior/misc.zig
@@ -5,16 +5,6 @@ const expectEqualStrings = std.testing.expectEqualStrings;
const mem = std.mem;
const builtin = @import("builtin");
-test "memcpy and memset intrinsics" {
- var foo: [20]u8 = undefined;
- var bar: [20]u8 = undefined;
-
- @memset(&foo, 'A', foo.len);
- @memcpy(&bar, &foo, bar.len);
-
- if (bar[11] != 'A') unreachable;
-}
-
test "slicing" {
var array: [20]i32 = undefined;