Tests: Run execute on non-Verilator when unsupported test.

This commit is contained in:
Wilson Snyder 2020-10-17 21:20:52 -04:00
parent 4576644591
commit 3d2503f9aa
28 changed files with 249 additions and 110 deletions

View File

@ -15,11 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
#
#file_grep_not("$Self->{obj_dir}/V$Self->{name}__Syms.h", qr/Dead/x);
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,11 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
#
#file_grep_not("$Self->{obj_dir}/V$Self->{name}__Syms.h", qr/Dead/x);
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -11,13 +11,13 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
compile(
fails => $Self->{vlt_all}, # Verilator unsupported, bug546
expect_filename => $Self->{golden_filename},
fails => $Self->{vlt_all} # Verilator unsupported, bug546
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -8,16 +8,12 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
scenarios(simulator => 1);
scenarios(linter => 1);
compile(
fails => 1,
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
ok(1);
1;

View File

@ -1,4 +1,4 @@
%Error-UNSUPPORTED: t/t_class_vparam_unsup.v:13:40: Unsupported: parameterized packages
%Error-UNSUPPORTED: t/t_class_vparam.v:13:40: Unsupported: parameterized packages
13 | pure virtual function void funcname(paramed_class_t #(CTYPE_t) v);
| ^~~~~~~~~~~~~~~
%Error: Exiting due to

View File

@ -10,10 +10,14 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
lint(
compile(
fails => $Self->{vlt_all},
expect_filename => $Self->{golden_filename},
);
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -11,13 +11,13 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
compile(
expect_filename => $Self->{golden_filename},
fails => $Self->{vlt_all}, # Verilator unsupported, bug1482, iff not supported
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -15,9 +15,9 @@ compile(
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -0,0 +1,133 @@
%Warning-WIDTH: t/t_stream_integer_type.v:118:28: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's STREAML generates 8 bits.
: ... In instance t
118 | packed_data_32 = {<<8{byte_in}};
| ^
... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.
%Warning-WIDTH: t/t_stream_integer_type.v:119:28: Operator ASSIGN expects 64 bits on the Assign RHS, but Assign RHS's STREAML generates 16 bits.
: ... In instance t
119 | packed_data_64 = {<<16{shortint_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:120:28: Operator ASSIGN expects 128 bits on the Assign RHS, but Assign RHS's STREAML generates 32 bits.
: ... In instance t
120 | packed_data_128 = {<<32{int_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:121:28: Operator ASSIGN expects 128 bits on the Assign RHS, but Assign RHS's STREAML generates 32 bits.
: ... In instance t
121 | packed_data_128_i = {<<32{integer_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:122:28: Operator ASSIGN expects 256 bits on the Assign RHS, but Assign RHS's STREAML generates 64 bits.
: ... In instance t
122 | packed_data_256 = {<<64{longint_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:123:28: Operator ASSIGN expects 256 bits on the Assign RHS, but Assign RHS's STREAML generates 64 bits.
: ... In instance t
123 | packed_time_256 = {<<64{time_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:124:28: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's STREAML generates 8 bits.
: ... In instance t
124 | v_packed_data_32 = {<<8{bit_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:125:28: Operator ASSIGN expects 64 bits on the Assign RHS, but Assign RHS's STREAML generates 16 bits.
: ... In instance t
125 | v_packed_data_64 = {<<16{logic_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:126:28: Operator ASSIGN expects 128 bits on the Assign RHS, but Assign RHS's STREAML generates 32 bits.
: ... In instance t
126 | v_packed_data_128 = {<<32{reg_in}};
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:128:31: Operator ASSIGN expects 8 bits on the Assign RHS, but Assign RHS's VARREF 'packed_data_32' generates 32 bits.
: ... In instance t
128 | {<<8{byte_out}} = packed_data_32;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:129:31: Operator ASSIGN expects 16 bits on the Assign RHS, but Assign RHS's VARREF 'packed_data_64' generates 64 bits.
: ... In instance t
129 | {<<16{shortint_out}} = packed_data_64;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:130:31: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's VARREF 'packed_data_128' generates 128 bits.
: ... In instance t
130 | {<<32{int_out}} = packed_data_128;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:131:31: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's VARREF 'packed_data_128_i' generates 128 bits.
: ... In instance t
131 | {<<32{integer_out}} = packed_data_128_i;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:132:31: Operator ASSIGN expects 64 bits on the Assign RHS, but Assign RHS's VARREF 'packed_data_256' generates 256 bits.
: ... In instance t
132 | {<<64{longint_out}} = packed_data_256;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:133:31: Operator ASSIGN expects 64 bits on the Assign RHS, but Assign RHS's VARREF 'packed_time_256' generates 256 bits.
: ... In instance t
133 | {<<64{time_out}} = packed_time_256;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:134:31: Operator ASSIGN expects 8 bits on the Assign RHS, but Assign RHS's VARREF 'v_packed_data_32' generates 32 bits.
: ... In instance t
134 | {<<8{bit_out}} = v_packed_data_32;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:135:31: Operator ASSIGN expects 16 bits on the Assign RHS, but Assign RHS's VARREF 'v_packed_data_64' generates 64 bits.
: ... In instance t
135 | {<<16{logic_out}} = v_packed_data_64;
| ^
%Warning-WIDTH: t/t_stream_integer_type.v:136:31: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's VARREF 'v_packed_data_128' generates 128 bits.
: ... In instance t
136 | {<<32{reg_out}} = v_packed_data_128;
| ^
%Error: t/t_stream_integer_type.v:150:33: Operator STREAML expected non-datatype RHS but 'byte' is a datatype.
: ... In instance t
150 | packed_data_32 = {<<byte{byte_in}};
| ^~~~
%Warning-WIDTH: t/t_stream_integer_type.v:150:28: Operator ASSIGN expects 32 bits on the Assign RHS, but Assign RHS's STREAML generates 8 bits.
: ... In instance t
150 | packed_data_32 = {<<byte{byte_in}};
| ^
%Error: t/t_stream_integer_type.v:151:33: Operator STREAML expected non-datatype RHS but 'shortint' is a datatype.
: ... In instance t
151 | packed_data_64 = {<<shortint{shortint_in}};
| ^~~~~~~~
%Warning-WIDTH: t/t_stream_integer_type.v:151:28: Operator ASSIGN expects 64 bits on the Assign RHS, but Assign RHS's STREAML generates 16 bits.
: ... In instance t
151 | packed_data_64 = {<<shortint{shortint_in}};
| ^
%Error: t/t_stream_integer_type.v:152:33: Operator STREAML expected non-datatype RHS but 'int' is a datatype.
: ... In instance t
152 | packed_data_128 = {<<int{int_in}};
| ^~~
%Warning-WIDTH: t/t_stream_integer_type.v:152:28: Operator ASSIGN expects 128 bits on the Assign RHS, but Assign RHS's STREAML generates 32 bits.
: ... In instance t
152 | packed_data_128 = {<<int{int_in}};
| ^
%Error: t/t_stream_integer_type.v:153:33: Operator STREAML expected non-datatype RHS but 'integer' is a datatype.
: ... In instance t
153 | packed_data_128_i = {<<integer{integer_in}};
| ^~~~~~~
%Warning-WIDTH: t/t_stream_integer_type.v:153:28: Operator ASSIGN expects 128 bits on the Assign RHS, but Assign RHS's STREAML generates 32 bits.
: ... In instance t
153 | packed_data_128_i = {<<integer{integer_in}};
| ^
%Error: t/t_stream_integer_type.v:154:33: Operator STREAML expected non-datatype RHS but 'longint' is a datatype.
: ... In instance t
154 | packed_data_256 = {<<longint{longint_in}};
| ^~~~~~~
%Warning-WIDTH: t/t_stream_integer_type.v:154:28: Operator ASSIGN expects 256 bits on the Assign RHS, but Assign RHS's STREAML generates 64 bits.
: ... In instance t
154 | packed_data_256 = {<<longint{longint_in}};
| ^
%Error: t/t_stream_integer_type.v:155:33: Operator STREAML expected non-datatype RHS but 'time' is a datatype.
: ... In instance t
155 | packed_time_256 = {<<time{time_in}};
| ^~~~
%Warning-WIDTH: t/t_stream_integer_type.v:155:28: Operator ASSIGN expects 256 bits on the Assign RHS, but Assign RHS's STREAML generates 64 bits.
: ... In instance t
155 | packed_time_256 = {<<time{time_in}};
| ^
%Error: t/t_stream_integer_type.v:156:33: Operator STREAML expected non-datatype RHS but 'test_byte' is a datatype.
: ... In instance t
156 | v_packed_data_32 = {<<test_byte{bit_in}};
| ^~~~~~~~~
%Error: t/t_stream_integer_type.v:156:31: Slice size isn't a constant or basic data type.
: ... In instance t
156 | v_packed_data_32 = {<<test_byte{bit_in}};
| ^~
%Error: Internal Error: t/t_stream_integer_type.v:156:28: ../V3Width.cpp:#: Node has no type
: ... In instance t
156 | v_packed_data_32 = {<<test_byte{bit_in}};
| ^

View File

@ -12,11 +12,12 @@ scenarios(simulator => 1);
compile(
fails => $Self->{vlt_all},
expect_filename => $Self->{golden_filename},
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -19,10 +19,9 @@ compile(
make_top => 1,
);
# Will fail, unsupported
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -11,13 +11,13 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
compile(
fails => $Self->{vlt_all}, # Verilator unsupported, bug546
expect_filename => $Self->{golden_filename},
fails => $Self->{vlt_all} # Verilator unsupported, bug546
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -11,13 +11,13 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
compile(
fails => $Self->{vlt_all}, # Verilator unsupported, bug546
expect_filename => $Self->{golden_filename},
fails => $Self->{vlt_all} # Verilator unsupported, bug546
);
#execute(
# check_finished => 1,
# );
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

34
test_regress/t/t_with.out Normal file
View File

@ -0,0 +1,34 @@
%Error-UNSUPPORTED: t/t_with.v:19:31: Unsupported: with statements
19 | found = aliases.find(i) with (i == tofind);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:21:23: Unsupported: with statements
21 | aliases.find(i) with (i == tofind);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:24:28: Unsupported: with statements
24 | found = aliases.find with (item == i);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:25:20: Unsupported: with statements
25 | aliases.find with (item == i);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:29:30: Unsupported: with statements
29 | found = aliases.unique with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:30:32: Unsupported: with statements
30 | found = aliases.unique() with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:31:33: Unsupported: with statements
31 | found = aliases.unique(i) with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:32:25: Unsupported: with statements
32 | i = aliases.or(v) with (v);
| ^~~~
%Error: t/t_with.v:32:22: Can't find definition of variable: 'v'
32 | i = aliases.or(v) with (v);
| ^
%Error-UNSUPPORTED: t/t_with.v:33:26: Unsupported: with statements
33 | i = aliases.and(v) with (v);
| ^~~~
%Error-UNSUPPORTED: t/t_with.v:34:26: Unsupported: with statements
34 | i = aliases.xor(v) with (v);
| ^~~~
%Error: Exiting due to

View File

@ -10,10 +10,14 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1);
lint(
compile(
fails => $Self->{vlt_all},
expect_filename => $Self->{golden_filename},
);
execute(
check_finished => 1,
) if !$Self->{vlt_all};
ok(1);
1;

View File

@ -16,9 +16,9 @@ module t (/*AUTOARG*/);
int i;
aliases = '{ 1, 4, 6, 8};
tofind = 6;
found = aliases.find(i) with (i == to_find);
found = aliases.find(i) with (i == tofind);
// And as function
aliases.find(i) with (i == to_find);
aliases.find(i) with (i == tofind);
// No parenthesis
found = aliases.find with (item == i);
@ -29,9 +29,12 @@ module t (/*AUTOARG*/);
found = aliases.unique with (id);
found = aliases.unique() with (id);
found = aliases.unique(i) with (id);
found = aliases.or with (id);
found = aliases.and with (id);
found = aliases.xor with (id);
i = aliases.or(v) with (v);
i = aliases.and(v) with (v);
i = aliases.xor(v) with (v);
$write("*-* All Finished *-*\n");
$finish;
end
endmodule

View File

@ -1,31 +0,0 @@
%Error-UNSUPPORTED: t/t_with_unsup.v:19:31: Unsupported: with statements
19 | found = aliases.find(i) with (i == to_find);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:21:23: Unsupported: with statements
21 | aliases.find(i) with (i == to_find);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:24:28: Unsupported: with statements
24 | found = aliases.find with (item == i);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:25:20: Unsupported: with statements
25 | aliases.find with (item == i);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:29:30: Unsupported: with statements
29 | found = aliases.unique with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:30:32: Unsupported: with statements
30 | found = aliases.unique() with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:31:33: Unsupported: with statements
31 | found = aliases.unique(i) with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:32:26: Unsupported: with statements
32 | found = aliases.or with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:33:27: Unsupported: with statements
33 | found = aliases.and with (id);
| ^~~~
%Error-UNSUPPORTED: t/t_with_unsup.v:34:27: Unsupported: with statements
34 | found = aliases.xor with (id);
| ^~~~
%Error: Exiting due to