Skip to content

Commit f9113d9

Browse files
committed
fix(test): support ArrayList API changes in Zig 0.15+
- update tests to handle allocator parameter for ArrayList in Zig 0.15+ - add conditional logic for Zig version compatibility in map-related tests - ensure proper memory cleanup for both Zig 0.14 and 0.15+
1 parent 3377126 commit f9113d9

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

src/test.zig

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const std = @import("std");
2+
const builtin = @import("builtin");
23
const msgpack = @import("msgpack");
34
const allocator = std.testing.allocator;
45
const expect = std.testing.expect;
@@ -825,18 +826,21 @@ test "large maps" {
825826
defer large_map.free(allocator);
826827

827828
// Store allocated keys to free them later
828-
var keys = std.ArrayList([]u8).init(allocator);
829+
var keys = if (builtin.zig_version.minor == 14)
830+
std.ArrayList([]u8).init(allocator)
831+
else
832+
std.ArrayList([]u8){};
829833
defer {
830834
for (keys.items) |key| {
831835
allocator.free(key);
832836
}
833-
keys.deinit();
837+
if (builtin.zig_version.minor == 14) keys.deinit() else keys.deinit(allocator);
834838
}
835839

836840
// Create a map with 20 entries (more than fixmap limit of 15)
837841
for (0..20) |i| {
838842
const key = try std.fmt.allocPrint(allocator, "key{d}", .{i});
839-
try keys.append(key);
843+
if (builtin.zig_version.minor == 14) try keys.append(key) else try keys.append(allocator, key);
840844
try large_map.mapPut(key, Payload.intToPayload(@intCast(i)));
841845
}
842846

@@ -1174,18 +1178,21 @@ test "actual map32 format" {
11741178
defer large_map.free(allocator);
11751179

11761180
// Store allocated keys to free them later
1177-
var keys = std.ArrayList([]u8).init(allocator);
1181+
var keys = if (builtin.zig_version.minor == 14)
1182+
std.ArrayList([]u8).init(allocator)
1183+
else
1184+
std.ArrayList([]u8){};
11781185
defer {
11791186
for (keys.items) |key| {
11801187
allocator.free(key);
11811188
}
1182-
keys.deinit();
1189+
if (builtin.zig_version.minor == 14) keys.deinit() else keys.deinit(allocator);
11831190
}
11841191

11851192
// Create a map with 1000 entries (more than map16 threshold of 65535 would be too memory intensive)
11861193
for (0..1000) |i| {
11871194
const key = try std.fmt.allocPrint(allocator, "key{d:0>10}", .{i});
1188-
try keys.append(key);
1195+
if (builtin.zig_version.minor == 14) try keys.append(key) else try keys.append(allocator, key);
11891196
try large_map.mapPut(key, Payload.intToPayload(@intCast(i)));
11901197
}
11911198

@@ -1335,17 +1342,20 @@ test "format markers verification" {
13351342
var test_map = Payload.mapPayload(allocator);
13361343
defer test_map.free(allocator);
13371344

1338-
var test_keys = std.ArrayList([]u8).init(allocator);
1345+
var test_keys = if (builtin.zig_version.minor == 14)
1346+
std.ArrayList([]u8).init(allocator)
1347+
else
1348+
std.ArrayList([]u8){};
13391349
defer {
13401350
for (test_keys.items) |key| {
13411351
allocator.free(key);
13421352
}
1343-
test_keys.deinit();
1353+
if (builtin.zig_version.minor == 14) test_keys.deinit() else test_keys.deinit(allocator);
13441354
}
13451355

13461356
for (0..16) |i| {
13471357
const key = try std.fmt.allocPrint(allocator, "k{d}", .{i});
1348-
try test_keys.append(key);
1358+
if (builtin.zig_version.minor == 14) try test_keys.append(key) else try test_keys.append(allocator, key);
13491359
try test_map.mapPut(key, Payload.nilToPayload());
13501360
}
13511361
try p.write(test_map);

0 commit comments

Comments
 (0)