Tests: Add additional .out files instead of expects.

This commit is contained in:
Wilson Snyder 2019-06-12 21:49:40 -04:00
parent f5f5cd522b
commit 79e9fbaeb7
77 changed files with 148 additions and 129 deletions

View File

@ -241,7 +241,7 @@ private:
VL_DEBUG_FUNC; // Declare debug()
void genChangeDet(AstVarScope* vscp) {
vscp->v3warn(IMPERFECTSCH, "Imperfect scheduling of variable: "<<vscp);
vscp->v3warn(IMPERFECTSCH, "Imperfect scheduling of variable: "<<vscp->prettyName());
ChangedInsertVisitor visitor (vscp, m_statep);
}

View File

@ -0,0 +1,2 @@
%Error: t/t_bitsel_wire_array_bad.v:20: Illegal assignment of constant to unpacked array
%Error: Exiting due to

View File

@ -13,9 +13,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'.*%Error: t/t_bitsel_wire_array_bad.v:\d+: Illegal assignment of constant to unpacked array
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_case_default_bad.v:12: Multiple default statements in case statement.
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_case_default_bad.v:\d+: Multiple default statements in case statement.
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,4 @@
%Warning-CASEX: t/t_case_x_bad.v:13: Suggest casez (with ?'s) in place of casex (with X's)
... Use "/* verilator lint_off CASEX */" and lint_on around source to disable this message.
%Warning-CASEWITHX: t/t_case_x_bad.v:18: Use of x/? constant in case statement, (perhaps intended casex/casez)
%Error: Exiting due to

View File

@ -11,10 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Warning-CASEX: t/t_case_x_bad.v:\d+: Suggest casez \(with \?\'s\) in place of casex \(with X\'s\)
.*%Warning-CASEWITHX: t/t_case_x_bad.v:\d+: Use of x/\? constant in case statement, \(perhaps intended casex/casez\)
.*%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Warning-CASEWITHX: t/t_case_zx_bad.v:15: Use of x constant in casez statement, (perhaps intended ?/z in constant)
... Use "/* verilator lint_off CASEWITHX */" and lint_on around source to disable this message.
%Error: Exiting due to

View File

@ -11,10 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Warning-CASEWITHX: t/t_case_zx_bad.v:\d+: Use of x constant in casez statement, \(perhaps intended \?/z in constant\)
.*
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_const_dec_mixed_bad.v:8: Mixing X/Z/? with digits not legal in decimal constant: x_1
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_const_dec_mixed_bad.v:\d+: Mixing X/Z/\? with digits not legal in decimal constant: x_1
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_dpi_2exp_bad.v:11: Function was already DPI Exported, duplicate not allowed: dpix_twice
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => $Self->{vlt_all},
expect =>
'%Error: t/t_dpi_2exp_bad.v:11: Function was already DPI Exported, duplicate not allowed: dpix_twice
%Error: Exiting due to .*'
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_dpi_exp_bad.v:11: DPI functions cannot return > 32 bits or four-state; use a two-state type or task instead: dpix_f_bit48__Vfuncrtn
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_dpi_exp_bad.v:\d+: DPI functions cannot return > 32 bits or four-state; use a two-state type or task instead: dpix_f_bit48__Vfuncrtn
%Error: Exiting due to .*'
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_dpi_logic_bad.v:11: DPI function may not return type BASICDTYPE 'logic' (IEEE 2017 35.5.5)
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => $Self->{vlt_all},
expect =>
'%Error: t/t_dpi_logic_bad.v:\d+: DPI function may not return type BASICDTYPE \'logic\' \(IEEE 2017 35.5.5\)
%Error: Exiting due to .*'
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_dpi_name_bad.v:11: DPI function has illegal characters in C identifier name: badly.named
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => $Self->{vlt_all},
expect =>
'%Error: t/t_dpi_name_bad.v:\d+: DPI function has illegal characters in C identifier name: badly.named
%Error: Exiting due to .*'
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: No top level module found
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: No top level module found
%Error: Exiting due to',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: Specified --top-module 'a' isn't at the top level, it's under another cell 'a_top'
%Error: Exiting due to

View File

@ -12,9 +12,7 @@ scenarios(vlt => 1);
compile(
v_flags2 => ["--top-module a "],
fails => 1,
expect =>
'%Error: Specified --top-module \'a\' isn.t at the top level, it.s under another cell \'a_top\'
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: Specified --top-module 'notfound' was not found in design.
%Error: Exiting due to

View File

@ -15,9 +15,7 @@ compile(
fails => 1,
v_flags2 => ["--top-module notfound"],
nc => 0, # Need to get it not to give the prompt
expect =>
'%Error: Specified --top-module \'notfound\' was not found in design.
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_func_task_bad.v:9: Illegal call of a task as a function: task_as_func
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
q{%Error: t/t_func_task_bad.v:\d+: Illegal call of a task as a function: task_as_func
%Error: Exiting due to.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_func_tie_bad.v:10: Function/task output connected to constant instead of variable: b
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
q{%Error: t/t_func_tie_bad.v:\d+: Function/task output connected to constant instead of variable: b
%Error: Exiting due to.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -12,9 +12,7 @@ $Self->{vlt_all} and unsupported("Verilator unsupported, bug408");
lint(
fails => 1,
expect =>
'.*%Error: t/t_genvar_misuse_bad.v:\d+: Use of genvar where not convertible to constant: i
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,4 @@
%Warning-INITIALDLY: t/t_initial_dlyass.v:17: Delayed assignments (<=) in initial or final block; suggest blocking assignments (=).
... Use "/* verilator lint_off INITIALDLY */" and lint_on around source to disable this message.
%Warning-INITIALDLY: t/t_initial_dlyass.v:18: Delayed assignments (<=) in initial or final block; suggest blocking assignments (=).
%Error: Exiting due to

View File

@ -13,10 +13,8 @@ top_filename("t_initial_dlyass.v");
lint(
fails => 1,
expect =>
qr{%Warning-INITIALDLY: t/t_initial_dlyass.v:\d+: Delayed assignments .*
%Error: Exiting due to.*},
);
expect_filename => $Self->{golden_filename},
);
ok(1);
1;

View File

@ -0,0 +1,4 @@
%Error: t/t_interface_missing_bad.v:13: Cannot find file containing interface: foo_intf
%Error: t/t_interface_missing_bad.v:19: Cannot find file containing interface: foo_intf
%Error: t/t_interface_missing_bad.v:24: Found definition of 'the_foo' as a CELL but expected a variable
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(simulator => 1);
compile(
fails => 1,
expect =>
qr{%Error: t/t_interface_missing_bad.v:\d+: Cannot find file containing interface: foo_intf
.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Error: t/t_interface_top_bad.v:16: Unsupported: Interfaced port on top level module
%Error: t/t_interface_top_bad.v:16: Parent cell's interface is not found: ifc
%Error: Exiting due to

View File

@ -11,8 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_interface_top_bad.v:\d+: Unsupported: Interfaced port on top level module',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,4 @@
%Error: t/t_interface_typo_bad.v:13: Parent cell's interface is not found: foo_intf
%Error: t/t_interface_typo_bad.v:21: Cannot find file containing interface: fo_intf
%Error: t/t_interface_typo_bad.v:26: Found definition of 'the_foo' as a CELL but expected a variable
%Error: Exiting due to

View File

@ -13,11 +13,7 @@ lint(
fails => 1,
# Used to be %Error: t/t_order_wireloop.v:\d+: Wire inputs its own output, creating circular logic .wire x=x.
# However we no longer gate optimize this
expect =>
q{%Error: t/t_interface_typo_bad.v:\d+: Parent cell's interface is not found: foo_intf
%Error: t/t_interface_typo_bad.v:\d+: Cannot find file containing interface: fo_intf
%Error: t/t_interface_typo_bad.v:\d+: Found definition of 'the_foo' as a CELL but expected a variable
.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -12,9 +12,7 @@ $Self->{vlt_all} and unsupported("Verilator unsupported, bug485, false begin due
lint(
fails => 1,
expect =>
'%Warning: duplicate...
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,4 @@
%Warning-BSSPACE: t/t_lint_bsspace_bad.v:9: Backslash followed by whitespace, perhaps the whitespace is accidental?
... Use "/* verilator lint_off BSSPACE */" and lint_on around source to disable this message.
%Error: t/t_lint_bsspace_bad.v:10: syntax error, unexpected IDENTIFIER
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Warning-BSSPACE: t/t_lint_bsspace_bad.v:\d+: Backslash followed by whitespace, perhaps the whitespace is accidental\?
.*%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Error: t/t_lint_comb_bad.v:13: syntax error, unexpected '@'
%Error: Cannot continue
%Error: Command Failed

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
q{%Error: t/t_lint_comb_bad.v:\d+: syntax error, unexpected '@'
.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_lint_input_eq_bad.v:9: Unsupported: Default value on module input: i2
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_lint_input_eq_bad.v:\d+: Unsupported: Default value on module input: i2
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Warning-WIDTH: t/t_lint_literal_bad.v:9: Value too large for 8 bit number: 256
... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt_all => 1);
compile(
fails => 1,
expect =>
'%Warning-WIDTH: t/t_lint_literal_bad.v:9: Value too large for 8 bit number: 256
',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_lint_mod_paren_bad.v:13: syntax error, unexpected '(', expecting ';'
%Error: Exiting due to

View File

@ -12,9 +12,7 @@ scenarios(vlt => 1);
lint(
verilator_flags2 => ["--lint-only -Wno-DECLFILENAME"],
fails => 1,
expect =>
q{%Error: t/t_lint_mod_paren_bad.v:\d+: syntax error, unexpected '\(', expecting ';'
%Error: Exiting due to .*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Error: Internal Error: ../V3Number.cpp:668: Value too wide for 32-bits expected in this context 64'h123456789abcdef
... See the manual and http://www.veripool.org/verilator for more assistance.
%Error: Command Failed

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Error: Internal Error: .*: Value too wide for 32-bits expected in this context 64\'h123456789abcdef
.',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_mem_packed_bad.v:26: CONST '28'h0' unexpected in assignment to unpacked array
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
q{%Error: t/t_mem_packed_bad.v:\d+: CONST '28'h0' unexpected in assignment to unpacked array
%Error: Exiting due to.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_mem_slice_dtype_bad.v:22: ADD unexpected in assignment to unpacked array
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(simulator => 1);
compile(
fails => 1,
expect =>
'%Error: t/t_mem_slice_dtype_bad.v:\d+: ADD unexpected in assignment to unpacked array
.*%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,9 @@
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:17: Imperfect scheduling of variable: t.c1_start
... Use "/* verilator lint_off IMPERFECTSCH */" and lint_on around source to disable this message.
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:18: Imperfect scheduling of variable: t.c1_count
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:22: Imperfect scheduling of variable: t.s2_count
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:26: Imperfect scheduling of variable: t.c3_count
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:70: Imperfect scheduling of variable: t.c1.runner
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:99: Imperfect scheduling of variable: t.s2.runner
%Warning-IMPERFECTSCH: t/t_order_clkinst.v:70: Imperfect scheduling of variable: t.c3.runner
%Error: Exiting due to

View File

@ -14,9 +14,7 @@ top_filename("t/t_order_clkinst.v");
compile(
v_flags2 => ["-Wwarn-IMPERFECTSCH"],
fails => 1,
expect =>
q{.*%Warning-IMPERFECTSCH: .*
.*%Error: Exiting due to.*},
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -11,6 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
# Can't use expect_filename here as unstable output
expect =>
'%Error: Circular logic when ordering code .*
*t/t_order_loop_bad.v:\d+: + Example path: ALWAYS

View File

@ -13,6 +13,7 @@ compile(
fails => $Self->{vlt_all},
# Used to be %Error: t/t_order_wireloop.v:\d+: Wire inputs its own output, creating circular logic .wire x=x.
# However we no longer gate optimize this
# Can't use expect_filename here as unstable output
expect =>
'%Warning-UNOPT: t/t_order_wireloop.v:\d+: Signal unoptimizable: Feedback to public clock or circular logic: bar
',

View File

@ -0,0 +1,7 @@
%Error: t/t_package_export.v:56: Can't find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:57: Can't find definition of scope/variable: PARAM3
%Error: t/t_package_export.v:60: Can't find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:61: Can't find definition of scope/variable: PARAM3
%Error: t/t_package_export.v:64: Can't find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:65: Can't find definition of scope/variable: PARAM3
%Error: Exiting due to

View File

@ -14,14 +14,7 @@ top_filename("t/t_package_export.v");
lint(
v_flags2 => ['+define+T_PACKAGE_EXPORT_BAD',],
fails => 1,
expect =>
'%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM3
%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM3
%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM2
%Error: t/t_package_export.v:\d+: Can\'t find definition of scope/variable: PARAM3
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);

View File

@ -0,0 +1,2 @@
%Error: t/t_param_up_bad.v:15: Can't find definition of scope/variable: bar
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(linter => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_param_up_bad.v:\d+: Can\'t find definition of scope/variable: bar
.*%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_past_unsup_bad.v:12: Unsupported: $past expr2 and clock arguments
%Error: Exiting due to

View File

@ -7,13 +7,11 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
scenarios(vlt_all => 1);
scenarios(vlt => 1);
compile(
lint(
fails => 1,
expect =>
'%Error: t/t_past_unsup_bad.v:12: Unsupported: \$past expr2 and clock arguments
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Error: t/t_pp_circdef_bad.v:13: Recursive `define or other nested inclusion
%Error: t/t_pp_circdef_bad.v:14: syntax error, unexpected $end, expecting TYPE-IDENTIFIER
%Error: Exiting due to

View File

@ -11,10 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_pp_circdef_bad.v:\d+: Recursive `define or other nested inclusion
.*
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_pp_misdef_bad.v:10: Define or directive not defined: `NOTDEF
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_pp_misdef_bad.v:\d+: Define or directive not defined: `NOTDEF
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,3 @@
%Error: t/t_pp_underline_bad.v:7: Extra underscore in meta-comment; use /*verilator {...}*/ not /*verilator_{...}*/
%Error: t/t_pp_underline_bad.v:7: Unknown verilator comment: /*verilator _no_inline_module*/
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
'%Error: t/t_pp_underline_bad.v:\d+: Extra underscore in meta-comment.*
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,4 @@
%Warning-LITENDIAN: t/t_select_bad_msb.v:11: Little bit endian vector: MSB < LSB of bit range: 0:22
... Use "/* verilator lint_off LITENDIAN */" and lint_on around source to disable this message.
%Error: t/t_select_bad_msb.v:15: [1:4] Range extract has backward bit ordering, perhaps you wanted [4:1]
%Error: Exiting due to

View File

@ -11,10 +11,7 @@ scenarios(vlt_all => 1);
compile(
fails => 1,
expect =>
'%Warning-LITENDIAN: t/t_select_bad_msb.v:\d+: Little bit endian vector: MSB < LSB of bit range: 0:22
.*
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_var_port_bad.v:15: Input/output/inout does not appear in port list: b
%Error: Exiting due to

View File

@ -7,13 +7,11 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
scenarios(simulator => 1);
scenarios(linter => 1);
compile(
fails => 1,
expect =>
'%Error: t/t_var_port_bad.v:\d+: Input/output/inout does not appear in port list: b
%Error: Exiting due to.*',
expect_filename => $Self->{golden_filename},
);
ok(1);

View File

@ -0,0 +1,2 @@
%Error: t/t_var_ref_bad3.v:9: Unsupported: ref/const ref as primary input/output: bad_primary_ref
%Error: Exiting due to

View File

@ -11,9 +11,7 @@ scenarios(vlt => 1);
lint(
fails => 1,
expect =>
q{%Error: t/t_var_ref_bad3.v:\d+: Unsupported: ref/const ref as primary input/output: bad_primary_ref
.*%Error: Exiting due to.*},
expect_filename => $Self->{golden_filename},
);
ok(1);