[Stage2/Testing] Always finish case, note all errs
parent
f2399db3ef
commit
e030414c16
|
@ -363,25 +363,30 @@ pub const TestContext = struct {
|
||||||
break :f false;
|
break :f false;
|
||||||
};
|
};
|
||||||
module_node.end();
|
module_node.end();
|
||||||
|
var err: ?anyerror = null;
|
||||||
{
|
{
|
||||||
var i = module.failed_files.iterator();
|
var i = module.failed_files.iterator();
|
||||||
var index: usize = 0;
|
var index: usize = 0;
|
||||||
while (i.next()) |pair| : (index += 1) {
|
while (i.next()) |pair| : (index += 1) {
|
||||||
if (index == case.expected_file_errors.len) {
|
if (index == case.expected_file_errors.len) {
|
||||||
std.debug.warn("Unexpected file error: {}\n", .{pair.value});
|
std.debug.warn("Unexpected file error: {}\n", .{pair.value});
|
||||||
return error.UnexpectedError;
|
err = error.UnexpectedError;
|
||||||
}
|
}
|
||||||
const v1 = pair.value.*;
|
const v1 = pair.value.*;
|
||||||
const v2 = case.expected_file_errors[index];
|
const v2 = case.expected_file_errors[index];
|
||||||
if (v1.byte_offset != v2.byte_offset) {
|
if (v1.byte_offset != v2.byte_offset) {
|
||||||
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
||||||
return error.ExpectedErrorElsewhere;
|
err = error.ExpectedErrorElsewhere;
|
||||||
}
|
}
|
||||||
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
||||||
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
||||||
return error.ExpectedOtherError;
|
err = error.ExpectedOtherError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (index != case.expected_file_errors.len) {
|
||||||
|
std.debug.warn("Expected an error ('{}'), but did not receive it\n", .{case.expected_file_errors[index]});
|
||||||
|
err = error.MissingError;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
var i = module.failed_decls.iterator();
|
var i = module.failed_decls.iterator();
|
||||||
|
@ -389,19 +394,23 @@ pub const TestContext = struct {
|
||||||
while (i.next()) |pair| : (index += 1) {
|
while (i.next()) |pair| : (index += 1) {
|
||||||
if (index == case.expected_decl_errors.len) {
|
if (index == case.expected_decl_errors.len) {
|
||||||
std.debug.warn("Unexpected decl error: {}\n", .{pair.value});
|
std.debug.warn("Unexpected decl error: {}\n", .{pair.value});
|
||||||
return error.UnexpectedError;
|
err = error.UnexpectedError;
|
||||||
}
|
}
|
||||||
const v1 = pair.value.*;
|
const v1 = pair.value.*;
|
||||||
const v2 = case.expected_decl_errors[index];
|
const v2 = case.expected_decl_errors[index];
|
||||||
if (v1.byte_offset != v2.byte_offset) {
|
if (v1.byte_offset != v2.byte_offset) {
|
||||||
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
||||||
return error.ExpectedErrorElsewhere;
|
err = error.ExpectedErrorElsewhere;
|
||||||
}
|
}
|
||||||
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
||||||
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
||||||
return error.ExpectedOtherError;
|
err = error.ExpectedOtherError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (index != case.expected_decl_errors.len) {
|
||||||
|
std.debug.warn("Expected an error ('{}'), but did not receive it\n", .{case.expected_decl_errors[index]});
|
||||||
|
err = error.MissingError;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
var i = module.failed_exports.iterator();
|
var i = module.failed_exports.iterator();
|
||||||
|
@ -409,19 +418,26 @@ pub const TestContext = struct {
|
||||||
while (i.next()) |pair| : (index += 1) {
|
while (i.next()) |pair| : (index += 1) {
|
||||||
if (index == case.expected_export_errors.len) {
|
if (index == case.expected_export_errors.len) {
|
||||||
std.debug.warn("Unexpected export error: {}\n", .{pair.value});
|
std.debug.warn("Unexpected export error: {}\n", .{pair.value});
|
||||||
return error.UnexpectedError;
|
err = error.UnexpectedError;
|
||||||
}
|
}
|
||||||
const v1 = pair.value.*;
|
const v1 = pair.value.*;
|
||||||
const v2 = case.expected_export_errors[index];
|
const v2 = case.expected_export_errors[index];
|
||||||
if (v1.byte_offset != v2.byte_offset) {
|
if (v1.byte_offset != v2.byte_offset) {
|
||||||
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
std.debug.warn("Expected error at {}, found it at {}\n", .{ v2.byte_offset, v1.byte_offset });
|
||||||
return error.ExpectedErrorElsewhere;
|
err = error.ExpectedErrorElsewhere;
|
||||||
}
|
}
|
||||||
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
if (!std.mem.eql(u8, v1.msg, v2.msg)) {
|
||||||
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
std.debug.warn("Expected '{}', found '{}'\n", .{ v2.msg, v1.msg });
|
||||||
return error.ExpectedOtherError;
|
err = error.ExpectedOtherError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (index != case.expected_export_errors.len) {
|
||||||
|
std.debug.warn("Expected an error ('{}'), but did not receive it\n", .{case.expected_export_errors[index]});
|
||||||
|
err = error.MissingError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (err) |e| {
|
||||||
|
return e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue