Tests: fail test if vcddiff aborts, fix failing tests

Tests used to silently pass when vcddiff aborted. Now fixed. Updated
large array trace reference files for FST, added same reference files
for VCD.

Developers need to update their local vcddiff.
This commit is contained in:
Geza Lore 2021-07-01 21:35:19 +01:00
parent d5c9369103
commit d4e73e215e
6 changed files with 72 additions and 14 deletions

View File

@ -42,7 +42,7 @@ fi
install-vcddiff() {
TMP_DIR="$(mktemp -d)"
git clone https://github.com/veripool/vcddiff "$TMP_DIR"
git -C "${TMP_DIR}" checkout 5112f88b7ba8818dce9dfb72619e64a1fc19542c
git -C "${TMP_DIR}" checkout e5664be5fe39d353bf3fcb50aa05214ab7ed4ac4
"$MAKE" -C "${TMP_DIR}"
sudo cp "${TMP_DIR}/vcddiff" /usr/local/bin
}

View File

@ -2261,7 +2261,7 @@ sub vcd_identical {
$cmd = qq{vcddiff "$fn1" "$fn2"};
print "\t$cmd\n" if $::Debug;
$out = `$cmd`;
if ($out ne '') {
if ($? != 0 || $out ne '') {
print $out;
$self->error("VCD miscompares $fn1 $fn2\n");
$self->copy_if_golden($fn1, $fn2);

File diff suppressed because one or more lines are too long

View File

@ -18,7 +18,7 @@ execute(
check_finished => 1,
);
file_grep("$Self->{obj_dir}/simx.vcd", qr/\$enddefinitions/x);
vcd_identical($Self->trace_filename, $Self->{golden_filename});
ok(1);
1;

File diff suppressed because one or more lines are too long

View File

@ -11,6 +11,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(vlt => 1);
top_filename("t/t_trace_array.v");
golden_filename("t/t_trace_array.out");
compile(
verilator_flags2 => ['--cc --trace --trace-threads 1 --trace-structs'],
@ -20,7 +21,7 @@ execute(
check_finished => 1,
);
file_grep("$Self->{obj_dir}/simx.vcd", qr/\$enddefinitions/x);
vcd_identical($Self->trace_filename, $Self->{golden_filename});
ok(1);
1;