| author | |
| committer | |
| log | 488e1e5f51905485f9db37038e74bdea31ebd16e |
| tree | 1141f52b18bbd2c85b429c7d2809ebe5cf414513 |
| parent | 95ab942184427e7c9b840d71f4d093931e3e48fb |
11 files changed, 50 insertions(+), 47 deletions(-)
lib/std/compress.zig-1| ... | @@ -5,7 +5,6 @@ pub const gzip = @import("compress/gzip.zig"); | ... | @@ -5,7 +5,6 @@ pub const gzip = @import("compress/gzip.zig"); |
| 5 | pub const zlib = @import("compress/zlib.zig"); | 5 | pub const zlib = @import("compress/zlib.zig"); |
| 6 | 6 | ||
| 7 | test { | 7 | test { |
| 8 | if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; | ||
| 9 | _ = deflate; | 8 | _ = deflate; |
| 10 | _ = gzip; | 9 | _ = gzip; |
| 11 | _ = zlib; | 10 | _ = zlib; |
lib/std/compress/deflate/compressor.zig+4-1| ... | @@ -254,7 +254,10 @@ pub fn Compressor(comptime WriterType: anytype) type { | ... | @@ -254,7 +254,10 @@ pub fn Compressor(comptime WriterType: anytype) type { |
| 254 | 254 | ||
| 255 | // Inner writer wrapped in a HuffmanBitWriter | 255 | // Inner writer wrapped in a HuffmanBitWriter |
| 256 | hm_bw: hm_bw.HuffmanBitWriter(WriterType) = undefined, | 256 | hm_bw: hm_bw.HuffmanBitWriter(WriterType) = undefined, |
| 257 | bulk_hasher: fn ([]u8, []u32) u32, | 257 | bulk_hasher: if (@import("builtin").zig_backend == .stage1) |
| 258 | fn ([]u8, []u32) u32 | ||
| 259 | else | ||
| 260 | *const fn ([]u8, []u32) u32, | ||
| 258 | 261 | ||
| 259 | sync: bool, // requesting flush | 262 | sync: bool, // requesting flush |
| 260 | best_speed_enc: *fast.DeflateFast, // Encoder for best_speed | 263 | best_speed_enc: *fast.DeflateFast, // Encoder for best_speed |
lib/std/compress/deflate/compressor_test.zig+15-24| ... | @@ -122,11 +122,8 @@ fn testToFromWithLevelAndLimit(level: deflate.Compression, input: []const u8, li | ... | @@ -122,11 +122,8 @@ fn testToFromWithLevelAndLimit(level: deflate.Compression, input: []const u8, li |
| 122 | try expect(compressed.items.len <= limit); | 122 | try expect(compressed.items.len <= limit); |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | var decomp = try decompressor( | 125 | var fib = io.fixedBufferStream(compressed.items); |
| 126 | testing.allocator, | 126 | var decomp = try decompressor(testing.allocator, fib.reader(), null); |
| 127 | io.fixedBufferStream(compressed.items).reader(), | ||
| 128 | null, | ||
| 129 | ); | ||
| 130 | defer decomp.deinit(); | 127 | defer decomp.deinit(); |
| 131 | 128 | ||
| 132 | var decompressed = try testing.allocator.alloc(u8, input.len); | 129 | var decompressed = try testing.allocator.alloc(u8, input.len); |
| ... | @@ -136,7 +133,9 @@ fn testToFromWithLevelAndLimit(level: deflate.Compression, input: []const u8, li | ... | @@ -136,7 +133,9 @@ fn testToFromWithLevelAndLimit(level: deflate.Compression, input: []const u8, li |
| 136 | try expect(read == input.len); | 133 | try expect(read == input.len); |
| 137 | try expect(mem.eql(u8, input, decompressed)); | 134 | try expect(mem.eql(u8, input, decompressed)); |
| 138 | 135 | ||
| 139 | try testSync(level, input); | 136 | if (builtin.zig_backend == .stage1) { |
| 137 | try testSync(level, input); | ||
| 138 | } | ||
| 140 | } | 139 | } |
| 141 | 140 | ||
| 142 | fn testToFromWithLimit(input: []const u8, limit: [11]u32) !void { | 141 | fn testToFromWithLimit(input: []const u8, limit: [11]u32) !void { |
| ... | @@ -180,6 +179,7 @@ test "deflate/inflate" { | ... | @@ -180,6 +179,7 @@ test "deflate/inflate" { |
| 180 | } | 179 | } |
| 181 | 180 | ||
| 182 | test "very long sparse chunk" { | 181 | test "very long sparse chunk" { |
| 182 | if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; | ||
| 183 | // A SparseReader returns a stream consisting of 0s ending with 65,536 (1<<16) 1s. | 183 | // A SparseReader returns a stream consisting of 0s ending with 65,536 (1<<16) 1s. |
| 184 | // This tests missing hash references in a very large input. | 184 | // This tests missing hash references in a very large input. |
| 185 | const SparseReader = struct { | 185 | const SparseReader = struct { |
| ... | @@ -377,6 +377,7 @@ test "compressor dictionary" { | ... | @@ -377,6 +377,7 @@ test "compressor dictionary" { |
| 377 | // Update the hash for best_speed only if d.index < d.maxInsertIndex | 377 | // Update the hash for best_speed only if d.index < d.maxInsertIndex |
| 378 | // See https://golang.org/issue/2508 | 378 | // See https://golang.org/issue/2508 |
| 379 | test "Go non-regression test for 2508" { | 379 | test "Go non-regression test for 2508" { |
| 380 | if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; | ||
| 380 | var comp = try compressor( | 381 | var comp = try compressor( |
| 381 | testing.allocator, | 382 | testing.allocator, |
| 382 | io.null_writer, | 383 | io.null_writer, |
| ... | @@ -475,21 +476,16 @@ test "inflate reset" { | ... | @@ -475,21 +476,16 @@ test "inflate reset" { |
| 475 | try comp.close(); | 476 | try comp.close(); |
| 476 | } | 477 | } |
| 477 | 478 | ||
| 478 | var decomp = try decompressor( | 479 | var fib = io.fixedBufferStream(compressed_strings[0].items); |
| 479 | testing.allocator, | 480 | var decomp = try decompressor(testing.allocator, fib.reader(), null); |
| 480 | io.fixedBufferStream(compressed_strings[0].items).reader(), | ||
| 481 | null, | ||
| 482 | ); | ||
| 483 | defer decomp.deinit(); | 481 | defer decomp.deinit(); |
| 484 | 482 | ||
| 485 | var decompressed_0: []u8 = try decomp.reader() | 483 | var decompressed_0: []u8 = try decomp.reader() |
| 486 | .readAllAlloc(testing.allocator, math.maxInt(usize)); | 484 | .readAllAlloc(testing.allocator, math.maxInt(usize)); |
| 487 | defer testing.allocator.free(decompressed_0); | 485 | defer testing.allocator.free(decompressed_0); |
| 488 | 486 | ||
| 489 | try decomp.reset( | 487 | fib = io.fixedBufferStream(compressed_strings[1].items); |
| 490 | io.fixedBufferStream(compressed_strings[1].items).reader(), | 488 | try decomp.reset(fib.reader(), null); |
| 491 | null, | ||
| 492 | ); | ||
| 493 | 489 | ||
| 494 | var decompressed_1: []u8 = try decomp.reader() | 490 | var decompressed_1: []u8 = try decomp.reader() |
| 495 | .readAllAlloc(testing.allocator, math.maxInt(usize)); | 491 | .readAllAlloc(testing.allocator, math.maxInt(usize)); |
| ... | @@ -530,21 +526,16 @@ test "inflate reset dictionary" { | ... | @@ -530,21 +526,16 @@ test "inflate reset dictionary" { |
| 530 | try comp.close(); | 526 | try comp.close(); |
| 531 | } | 527 | } |
| 532 | 528 | ||
| 533 | var decomp = try decompressor( | 529 | var fib = io.fixedBufferStream(compressed_strings[0].items); |
| 534 | testing.allocator, | 530 | var decomp = try decompressor(testing.allocator, fib.reader(), dict); |
| 535 | io.fixedBufferStream(compressed_strings[0].items).reader(), | ||
| 536 | dict, | ||
| 537 | ); | ||
| 538 | defer decomp.deinit(); | 531 | defer decomp.deinit(); |
| 539 | 532 | ||
| 540 | var decompressed_0: []u8 = try decomp.reader() | 533 | var decompressed_0: []u8 = try decomp.reader() |
| 541 | .readAllAlloc(testing.allocator, math.maxInt(usize)); | 534 | .readAllAlloc(testing.allocator, math.maxInt(usize)); |
| 542 | defer testing.allocator.free(decompressed_0); | 535 | defer testing.allocator.free(decompressed_0); |
| 543 | 536 | ||
| 544 | try decomp.reset( | 537 | fib = io.fixedBufferStream(compressed_strings[1].items); |
| 545 | io.fixedBufferStream(compressed_strings[1].items).reader(), | 538 | try decomp.reset(fib.reader(), dict); |
| 546 | dict, | ||
| 547 | ); | ||
| 548 | 539 | ||
| 549 | var decompressed_1: []u8 = try decomp.reader() | 540 | var decompressed_1: []u8 = try decomp.reader() |
| 550 | .readAllAlloc(testing.allocator, math.maxInt(usize)); | 541 | .readAllAlloc(testing.allocator, math.maxInt(usize)); |
lib/std/compress/deflate/decompressor.zig+19-6| ... | @@ -334,7 +334,10 @@ pub fn Decompressor(comptime ReaderType: type) type { | ... | @@ -334,7 +334,10 @@ pub fn Decompressor(comptime ReaderType: type) type { |
| 334 | 334 | ||
| 335 | // Next step in the decompression, | 335 | // Next step in the decompression, |
| 336 | // and decompression state. | 336 | // and decompression state. |
| 337 | step: fn (*Self) Error!void, | 337 | step: if (@import("builtin").zig_backend == .stage1) |
| 338 | fn (*Self) Error!void | ||
| 339 | else | ||
| 340 | *const fn (*Self) Error!void, | ||
| 338 | step_state: DecompressorState, | 341 | step_state: DecompressorState, |
| 339 | final: bool, | 342 | final: bool, |
| 340 | err: ?Error, | 343 | err: ?Error, |
| ... | @@ -479,7 +482,13 @@ pub fn Decompressor(comptime ReaderType: type) type { | ... | @@ -479,7 +482,13 @@ pub fn Decompressor(comptime ReaderType: type) type { |
| 479 | } | 482 | } |
| 480 | 483 | ||
| 481 | pub fn close(self: *Self) ?Error { | 484 | pub fn close(self: *Self) ?Error { |
| 482 | if (self.err == Error.EndOfStreamWithNoError) { | 485 | if (@import("builtin").zig_backend == .stage1) { |
| 486 | if (self.err == Error.EndOfStreamWithNoError) { | ||
| 487 | return null; | ||
| 488 | } | ||
| 489 | return self.err; | ||
| 490 | } | ||
| 491 | if (self.err == @as(?Error, error.EndOfStreamWithNoError)) { | ||
| 483 | return null; | 492 | return null; |
| 484 | } | 493 | } |
| 485 | return self.err; | 494 | return self.err; |
| ... | @@ -920,7 +929,8 @@ test "truncated input" { | ... | @@ -920,7 +929,8 @@ test "truncated input" { |
| 920 | }; | 929 | }; |
| 921 | 930 | ||
| 922 | for (tests) |t| { | 931 | for (tests) |t| { |
| 923 | var r = io.fixedBufferStream(t.input).reader(); | 932 | var fib = io.fixedBufferStream(t.input); |
| 933 | const r = fib.reader(); | ||
| 924 | var z = try decompressor(testing.allocator, r, null); | 934 | var z = try decompressor(testing.allocator, r, null); |
| 925 | defer z.deinit(); | 935 | defer z.deinit(); |
| 926 | var zr = z.reader(); | 936 | var zr = z.reader(); |
| ... | @@ -959,7 +969,8 @@ test "Go non-regression test for 9842" { | ... | @@ -959,7 +969,8 @@ test "Go non-regression test for 9842" { |
| 959 | }; | 969 | }; |
| 960 | 970 | ||
| 961 | for (tests) |t| { | 971 | for (tests) |t| { |
| 962 | const reader = std.io.fixedBufferStream(t.input).reader(); | 972 | var fib = std.io.fixedBufferStream(t.input); |
| 973 | const reader = fib.reader(); | ||
| 963 | var decomp = try decompressor(testing.allocator, reader, null); | 974 | var decomp = try decompressor(testing.allocator, reader, null); |
| 964 | defer decomp.deinit(); | 975 | defer decomp.deinit(); |
| 965 | 976 | ||
| ... | @@ -1017,7 +1028,8 @@ test "inflate A Tale of Two Cities (1859) intro" { | ... | @@ -1017,7 +1028,8 @@ test "inflate A Tale of Two Cities (1859) intro" { |
| 1017 | \\ | 1028 | \\ |
| 1018 | ; | 1029 | ; |
| 1019 | 1030 | ||
| 1020 | const reader = std.io.fixedBufferStream(&compressed).reader(); | 1031 | var fib = std.io.fixedBufferStream(&compressed); |
| 1032 | const reader = fib.reader(); | ||
| 1021 | var decomp = try decompressor(testing.allocator, reader, null); | 1033 | var decomp = try decompressor(testing.allocator, reader, null); |
| 1022 | defer decomp.deinit(); | 1034 | defer decomp.deinit(); |
| 1023 | 1035 | ||
| ... | @@ -1082,7 +1094,8 @@ test "fuzzing" { | ... | @@ -1082,7 +1094,8 @@ test "fuzzing" { |
| 1082 | 1094 | ||
| 1083 | fn decompress(input: []const u8) !void { | 1095 | fn decompress(input: []const u8) !void { |
| 1084 | const allocator = testing.allocator; | 1096 | const allocator = testing.allocator; |
| 1085 | const reader = std.io.fixedBufferStream(input).reader(); | 1097 | var fib = std.io.fixedBufferStream(input); |
| 1098 | const reader = fib.reader(); | ||
| 1086 | var decomp = try decompressor(allocator, reader, null); | 1099 | var decomp = try decompressor(allocator, reader, null); |
| 1087 | defer decomp.deinit(); | 1100 | defer decomp.deinit(); |
| 1088 | var output = try decomp.reader().readAllAlloc(allocator, math.maxInt(usize)); | 1101 | var output = try decomp.reader().readAllAlloc(allocator, math.maxInt(usize)); |
lib/std/compress/deflate/deflate_fast_test.zig+6-12| ... | @@ -78,11 +78,8 @@ test "best speed" { | ... | @@ -78,11 +78,8 @@ test "best speed" { |
| 78 | var decompressed = try testing.allocator.alloc(u8, want.items.len); | 78 | var decompressed = try testing.allocator.alloc(u8, want.items.len); |
| 79 | defer testing.allocator.free(decompressed); | 79 | defer testing.allocator.free(decompressed); |
| 80 | 80 | ||
| 81 | var decomp = try inflate.decompressor( | 81 | var fib = io.fixedBufferStream(compressed.items); |
| 82 | testing.allocator, | 82 | var decomp = try inflate.decompressor(testing.allocator, fib.reader(), null); |
| 83 | io.fixedBufferStream(compressed.items).reader(), | ||
| 84 | null, | ||
| 85 | ); | ||
| 86 | defer decomp.deinit(); | 83 | defer decomp.deinit(); |
| 87 | 84 | ||
| 88 | var read = try decomp.reader().readAll(decompressed); | 85 | var read = try decomp.reader().readAll(decompressed); |
| ... | @@ -122,13 +119,13 @@ test "best speed max match offset" { | ... | @@ -122,13 +119,13 @@ test "best speed max match offset" { |
| 122 | //	zeros1 is between 0 and 30 zeros. | 119 | //	zeros1 is between 0 and 30 zeros. |
| 123 | // The difference between the two abc's will be offset, which | 120 | // The difference between the two abc's will be offset, which |
| 124 | // is max_match_offset plus or minus a small adjustment. | 121 | // is max_match_offset plus or minus a small adjustment. |
| 125 | var src_len: usize = @intCast(usize, offset + abc.len + @intCast(i32, extra)); | 122 | var src_len: usize = @intCast(usize, offset + @as(i32, abc.len) + @intCast(i32, extra)); |
| 126 | var src = try testing.allocator.alloc(u8, src_len); | 123 | var src = try testing.allocator.alloc(u8, src_len); |
| 127 | defer testing.allocator.free(src); | 124 | defer testing.allocator.free(src); |
| 128 | 125 | ||
| 129 | mem.copy(u8, src, abc); | 126 | mem.copy(u8, src, abc); |
| 130 | if (!do_match_before) { | 127 | if (!do_match_before) { |
| 131 | var src_offset: usize = @intCast(usize, offset - xyz.len); | 128 | var src_offset: usize = @intCast(usize, offset - @as(i32, xyz.len)); |
| 132 | mem.copy(u8, src[src_offset..], xyz); | 129 | mem.copy(u8, src[src_offset..], xyz); |
| 133 | } | 130 | } |
| 134 | var src_offset: usize = @intCast(usize, offset); | 131 | var src_offset: usize = @intCast(usize, offset); |
| ... | @@ -149,11 +146,8 @@ test "best speed max match offset" { | ... | @@ -149,11 +146,8 @@ test "best speed max match offset" { |
| 149 | var decompressed = try testing.allocator.alloc(u8, src.len); | 146 | var decompressed = try testing.allocator.alloc(u8, src.len); |
| 150 | defer testing.allocator.free(decompressed); | 147 | defer testing.allocator.free(decompressed); |
| 151 | 148 | ||
| 152 | var decomp = try inflate.decompressor( | 149 | var fib = io.fixedBufferStream(compressed.items); |
| 153 | testing.allocator, | 150 | var decomp = try inflate.decompressor(testing.allocator, fib.reader(), null); |
| 154 | io.fixedBufferStream(compressed.items).reader(), | ||
| 155 | null, | ||
| 156 | ); | ||
| 157 | defer decomp.deinit(); | 151 | defer decomp.deinit(); |
| 158 | var read = try decomp.reader().readAll(decompressed); | 152 | var read = try decomp.reader().readAll(decompressed); |
| 159 | _ = decomp.close(); | 153 | _ = decomp.close(); |
lib/std/x.zig-1| ... | @@ -13,7 +13,6 @@ pub const net = struct { | ... | @@ -13,7 +13,6 @@ pub const net = struct { |
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | test { | 15 | test { |
| 16 | if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; | ||
| 17 | inline for (.{ os, net }) |module| { | 16 | inline for (.{ os, net }) |module| { |
| 18 | std.testing.refAllDecls(module); | 17 | std.testing.refAllDecls(module); |
| 19 | } | 18 | } |
lib/std/x/os/io.zig+1| ... | @@ -117,6 +117,7 @@ pub const Reactor = struct { | ... | @@ -117,6 +117,7 @@ pub const Reactor = struct { |
| 117 | }; | 117 | }; |
| 118 | 118 | ||
| 119 | test "reactor/linux: drive async tcp client/listener pair" { | 119 | test "reactor/linux: drive async tcp client/listener pair" { |
| 120 | if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; | ||
| 120 | if (native_os.tag != .linux) return error.SkipZigTest; | 121 | if (native_os.tag != .linux) return error.SkipZigTest; |
| 121 | 122 | ||
| 122 | const ip = std.x.net.ip; | 123 | const ip = std.x.net.ip; |
lib/std/x/os/net.zig+1-1| ... | @@ -381,7 +381,7 @@ pub const IPv6 = extern struct { | ... | @@ -381,7 +381,7 @@ pub const IPv6 = extern struct { |
| 381 | }); | 381 | }); |
| 382 | } | 382 | } |
| 383 | 383 | ||
| 384 | const zero_span = span: { | 384 | const zero_span: struct { from: usize, to: usize } = span: { |
| 385 | var i: usize = 0; | 385 | var i: usize = 0; |
| 386 | while (i < self.octets.len) : (i += 2) { | 386 | while (i < self.octets.len) : (i += 2) { |
| 387 | if (self.octets[i] == 0 and self.octets[i + 1] == 0) break; | 387 | if (self.octets[i] == 0 and self.octets[i + 1] == 0) break; |
src/Sema.zig+2-1| ... | @@ -19702,7 +19702,8 @@ fn coerce( | ... | @@ -19702,7 +19702,8 @@ fn coerce( |
| 19702 | // pointer to tuple to slice | 19702 | // pointer to tuple to slice |
| 19703 | if (inst_ty.isSinglePointer() and | 19703 | if (inst_ty.isSinglePointer() and |
| 19704 | inst_ty.childType().isTuple() and | 19704 | inst_ty.childType().isTuple() and |
| 19705 | !dest_info.mutable and dest_info.size == .Slice) | 19705 | (!dest_info.mutable or inst_ty.ptrIsMutable() or inst_ty.childType().tupleFields().types.len == 0) and |
| 19706 | dest_info.size == .Slice) | ||
| 19706 | { | 19707 | { |
| 19707 | return sema.coerceTupleToSlicePtrs(block, dest_ty, dest_ty_src, inst, inst_src); | 19708 | return sema.coerceTupleToSlicePtrs(block, dest_ty, dest_ty_src, inst, inst_src); |
| 19708 | } | 19709 | } |
src/value.zig+1| ... | @@ -1062,6 +1062,7 @@ pub const Value = extern union { | ... | @@ -1062,6 +1062,7 @@ pub const Value = extern union { |
| 1062 | sema_kit: ?Module.WipAnalysis, | 1062 | sema_kit: ?Module.WipAnalysis, |
| 1063 | ) Module.CompileError!BigIntConst { | 1063 | ) Module.CompileError!BigIntConst { |
| 1064 | switch (val.tag()) { | 1064 | switch (val.tag()) { |
| 1065 | .null_value, | ||
| 1065 | .zero, | 1066 | .zero, |
| 1066 | .bool_false, | 1067 | .bool_false, |
| 1067 | .the_only_possible_value, // i0, u0 | 1068 | .the_only_possible_value, // i0, u0 |
test/behavior/cast.zig+1| ... | @@ -1426,6 +1426,7 @@ test "coerce undefined single-item pointer of array to error union of slice" { | ... | @@ -1426,6 +1426,7 @@ test "coerce undefined single-item pointer of array to error union of slice" { |
| 1426 | } | 1426 | } |
| 1427 | 1427 | ||
| 1428 | test "pointer to empty struct literal to mutable slice" { | 1428 | test "pointer to empty struct literal to mutable slice" { |
| 1429 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | ||
| 1429 | var x: []i32 = &.{}; | 1430 | var x: []i32 = &.{}; |
| 1430 | try expect(x.len == 0); | 1431 | try expect(x.len == 0); |
| 1431 | } | 1432 | } |