authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-01-25 10:39:11-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2021-01-25 10:39:11-08:00
log4ca1f4ec2e3ae1a08295bc6ed03c235cb7700ab9
treeb4b2cbaae3709b49cb435724d8de42da7d6d8280
parent57b2176e28fd336309922cc9182cffcf084c1879
parent134f5fd3d690cfdce2ab7d622cb233b3e510bf3a
signature Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #7846 from LemonBoy/filtertest

stage1: don't filter test blocks with empty label

30 files changed, 40 insertions(+), 35 deletions(-)

lib/std/Thread.zig+1-1
......@@ -553,7 +553,7 @@ pub fn getCurrentThreadId() u64 {
553553 }
554554}
555555
556test "" {
556test {
557557 if (!builtin.single_threaded) {
558558 std.testing.refAllDecls(@This());
559559 }
lib/std/build.zig+1-1
......@@ -2985,7 +2985,7 @@ test "LibExeObjStep.addPackage" {
29852985 std.testing.expectEqualStrings(pkg_top.name, dupe.name);
29862986}
29872987
2988test "" {
2988test {
29892989 // The only purpose of this test is to get all these untested functions
29902990 // to be referenced to avoid regression so it is okay to skip some targets.
29912991 if (comptime std.Target.current.cpu.arch.ptrBitWidth() == 64) {
lib/std/build/emit_raw.zig+1-1
......@@ -223,6 +223,6 @@ pub const InstallRawStep = struct {
223223 }
224224};
225225
226test "" {
226test {
227227 std.testing.refAllDecls(InstallRawStep);
228228}
lib/std/c.zig+1-1
......@@ -14,7 +14,7 @@ pub const parse = @import("c/parse.zig").parse;
1414pub const ast = @import("c/ast.zig");
1515pub const builtins = @import("c/builtins.zig");
1616
17test "" {
17test {
1818 _ = tokenizer;
1919}
2020
lib/std/compress.zig+1-1
......@@ -9,7 +9,7 @@ pub const deflate = @import("compress/deflate.zig");
99pub const gzip = @import("compress/gzip.zig");
1010pub const zlib = @import("compress/zlib.zig");
1111
12test "" {
12test {
1313 _ = gzip;
1414 _ = zlib;
1515}
lib/std/fs.zig+1-1
......@@ -2475,7 +2475,7 @@ fn copy_file(fd_in: os.fd_t, fd_out: os.fd_t) CopyFileError!void {
24752475 }
24762476}
24772477
2478test "" {
2478test {
24792479 if (builtin.os.tag != .wasi) {
24802480 _ = makeDirAbsolute;
24812481 _ = makeDirAbsoluteZ;
lib/std/io.zig+1-1
......@@ -171,7 +171,7 @@ test "null_writer" {
171171 null_writer.writeAll("yay" ** 10) catch |err| switch (err) {};
172172}
173173
174test "" {
174test {
175175 _ = @import("io/bit_reader.zig");
176176 _ = @import("io/bit_writer.zig");
177177 _ = @import("io/buffered_atomic_file.zig");
lib/std/io/c_writer.zig+1-1
......@@ -34,7 +34,7 @@ fn cWriterWrite(c_file: *std.c.FILE, bytes: []const u8) std.fs.File.WriteError!u
3434 }
3535}
3636
37test "" {
37test {
3838 if (!builtin.link_libc) return error.SkipZigTest;
3939
4040 const filename = "tmp_io_test_file.txt";
lib/std/math.zig+1-1
......@@ -278,7 +278,7 @@ pub const Complex = complex.Complex;
278278
279279pub const big = @import("math/big.zig");
280280
281test "" {
281test {
282282 std.testing.refAllDecls(@This());
283283}
284284
lib/std/math/big.zig+1-1
......@@ -20,7 +20,7 @@ comptime {
2020 assert(limb_info.signedness == .unsigned);
2121}
2222
23test "" {
23test {
2424 _ = int;
2525 _ = Rational;
2626 _ = Limb;
lib/std/math/big/int.zig+1-1
......@@ -2344,6 +2344,6 @@ fn fixedIntFromSignedDoubleLimb(A: SignedDoubleLimb, storage: []Limb) Mutable {
23442344 };
23452345}
23462346
2347test "" {
2347test {
23482348 _ = @import("int_test.zig");
23492349}
lib/std/net.zig+1-1
......@@ -1769,6 +1769,6 @@ pub const StreamServer = struct {
17691769 }
17701770};
17711771
1772test "" {
1772test {
17731773 _ = @import("net/test.zig");
17741774}
lib/std/os.zig+1-1
......@@ -43,7 +43,7 @@ comptime {
4343 assert(@import("std") == std); // std lib tests require --override-lib-dir
4444}
4545
46test "" {
46test {
4747 _ = darwin;
4848 _ = freebsd;
4949 _ = linux;
lib/std/os/linux.zig+1-1
......@@ -1355,7 +1355,7 @@ pub fn madvise(address: [*]u8, len: usize, advice: u32) usize {
13551355 return syscall3(.madvise, @ptrToInt(address), len, advice);
13561356}
13571357
1358test "" {
1358test {
13591359 if (builtin.os.tag == .linux) {
13601360 _ = @import("linux/test.zig");
13611361 }
lib/std/rand.zig+1-1
......@@ -602,6 +602,6 @@ test "CSPRNG" {
602602 expect(a ^ b ^ c != 0);
603603}
604604
605test "" {
605test {
606606 std.testing.refAllDecls(@This());
607607}
lib/std/special/compiler_rt/shift.zig+1-1
......@@ -124,7 +124,7 @@ pub fn __aeabi_llsr(a: i64, b: i32) callconv(.AAPCS) i64 {
124124 return __lshrdi3(a, b);
125125}
126126
127test "" {
127test {
128128 _ = @import("ashrdi3_test.zig");
129129 _ = @import("ashrti3_test.zig");
130130
lib/std/special/compiler_rt/sparc.zig-1
......@@ -68,7 +68,6 @@ pub fn _Qp_fge(a: *f128, b: *f128) callconv(.C) bool {
6868 return cmp == @enumToInt(FCMP.Greater) or cmp == @enumToInt(FCMP.Equal);
6969}
7070
71
7271// Casting
7372
7473pub fn _Qp_dtoq(c: *f128, a: f64) callconv(.C) void {
lib/std/std.zig+1-1
......@@ -86,7 +86,7 @@ comptime {
8686 _ = start;
8787}
8888
89test "" {
89test {
9090 if (builtin.os.tag == .windows) {
9191 // We only test the Windows-relevant stuff to save memory because the CI
9292 // server is hitting OOM. TODO revert this after stage2 arrives.
lib/std/target.zig+1-1
......@@ -1577,6 +1577,6 @@ pub const Target = struct {
15771577 }
15781578};
15791579
1580test "" {
1580test {
15811581 std.testing.refAllDecls(Target.Cpu.Arch);
15821582}
lib/std/testing.zig+1-1
......@@ -443,7 +443,7 @@ fn printLine(line: []const u8) void {
443443 print("{s}\n", .{line});
444444}
445445
446test "" {
446test {
447447 expectEqualStrings("foo", "foo");
448448}
449449
lib/std/valgrind.zig+1-1
......@@ -262,7 +262,7 @@ pub fn monitorCommand(command: [*]u8) bool {
262262pub const memcheck = @import("valgrind/memcheck.zig");
263263pub const callgrind = @import("valgrind/callgrind.zig");
264264
265test "" {
265test {
266266 _ = @import("valgrind/memcheck.zig");
267267 _ = @import("valgrind/callgrind.zig");
268268}
lib/std/zig.zig+1-1
......@@ -255,6 +255,6 @@ test "parseCharLiteral" {
255255 std.testing.expectError(error.InvalidCharacter, parseCharLiteral("'\\u{FFFF}x'", &bad_index));
256256}
257257
258test "" {
258test {
259259 @import("std").testing.refAllDecls(@This());
260260}
lib/std/zig/ast.zig+1-1
......@@ -3231,7 +3231,7 @@ pub const Node = struct {
32313231 base: Node = Node{ .tag = .TestDecl },
32323232 doc_comments: ?*DocComment,
32333233 test_token: TokenIndex,
3234 name: *Node,
3234 name: ?*Node,
32353235 body_node: *Node,
32363236
32373237 pub fn iterate(self: *const TestDecl, index: usize) ?*Node {
lib/std/zig/parse.zig+1-3
......@@ -366,9 +366,7 @@ const Parser = struct {
366366 /// TestDecl <- KEYWORD_test STRINGLITERALSINGLE Block
367367 fn parseTestDecl(p: *Parser) !?*Node {
368368 const test_token = p.eatToken(.Keyword_test) orelse return null;
369 const name_node = try p.expectNode(parseStringLiteralSingle, .{
370 .ExpectedStringLiteral = .{ .token = p.tok_i },
371 });
369 const name_node = try p.parseStringLiteralSingle();
372370 const block_node = (try p.parseBlock(null)) orelse {
373371 try p.errors.append(p.gpa, .{ .ExpectedLBrace = .{ .token = p.tok_i } });
374372 return error.ParseError;
lib/std/zig/render.zig+2-1
......@@ -228,7 +228,8 @@ fn renderContainerDecl(allocator: *mem.Allocator, ais: anytype, tree: *ast.Tree,
228228
229229 try renderDocComments(tree, ais, test_decl, test_decl.doc_comments);
230230 try renderToken(tree, ais, test_decl.test_token, .Space);
231 try renderExpression(allocator, ais, tree, test_decl.name, .Space);
231 if (test_decl.name) |name|
232 try renderExpression(allocator, ais, tree, name, .Space);
232233 try renderExpression(allocator, ais, tree, test_decl.body_node, space);
233234 },
234235
lib/std/zig/system.zig+1-1
......@@ -898,6 +898,6 @@ pub const NativeTargetInfo = struct {
898898 }
899899};
900900
901test "" {
901test {
902902 _ = @import("system/macos.zig");
903903}
src/codegen/aarch64.zig+1-1
......@@ -906,7 +906,7 @@ pub const Instruction = union(enum) {
906906 }
907907};
908908
909test "" {
909test {
910910 testing.refAllDecls(@This());
911911}
912912
src/stage1/all_types.hpp+1
......@@ -797,6 +797,7 @@ struct AstNodeVariableDeclaration {
797797};
798798
799799struct AstNodeTestDecl {
800 // nullptr if the test declaration has no name
800801 Buf *name;
801802
802803 AstNode *body;
src/stage1/analyze.cpp+10-4
......@@ -3871,12 +3871,18 @@ static void preview_test_decl(CodeGen *g, AstNode *node, ScopeDecls *decls_scope
38713871 return;
38723872
38733873 Buf *decl_name_buf = node->data.test_decl.name;
3874 Buf *test_name;
38743875
3875 Buf *test_name = g->test_name_prefix ?
3876 buf_sprintf("%s%s", buf_ptr(g->test_name_prefix), buf_ptr(decl_name_buf)) : decl_name_buf;
3876 if (decl_name_buf != nullptr) {
3877 test_name = g->test_name_prefix ?
3878 buf_sprintf("%s%s", buf_ptr(g->test_name_prefix), buf_ptr(decl_name_buf)) : decl_name_buf;
38773879
3878 if (g->test_filter != nullptr && strstr(buf_ptr(test_name), buf_ptr(g->test_filter)) == nullptr) {
3879 return;
3880 if (g->test_filter != nullptr && strstr(buf_ptr(test_name), buf_ptr(g->test_filter)) == nullptr) {
3881 return;
3882 }
3883 } else {
3884 // Unnamed test blocks are always executed.
3885 test_name = buf_sprintf("%s", g->test_name_prefix ? buf_ptr(g->test_name_prefix) : "");
38803886 }
38813887
38823888 TldFn *tld_fn = heap::c_allocator.create<TldFn>();
src/stage1/parser.cpp+2-2
......@@ -658,10 +658,10 @@ static AstNode *ast_parse_test_decl(ParseContext *pc) {
658658 if (test == nullptr)
659659 return nullptr;
660660
661 Token *name = expect_token(pc, TokenIdStringLiteral);
661 Token *name = eat_token_if(pc, TokenIdStringLiteral);
662662 AstNode *block = ast_expect(pc, ast_parse_block);
663663 AstNode *res = ast_create_node(pc, NodeTypeTestDecl, test);
664 res->data.test_decl.name = token_buf(name);
664 res->data.test_decl.name = name ? token_buf(name) : nullptr;
665665 res->data.test_decl.body = block;
666666 return res;
667667}