Regression test suite for Icarus Verilog.
Verilog C VHDL Perl C++ Coq Other
Permalink
Failed to load latest commit information.
blif Added tests for barrel shifter. Jun 13, 2016
contrib Remove spacing errors Oct 11, 2012
fpga_tests Remove spacing errors Oct 11, 2012
gold Add regression tests for contributed patch #1288. Oct 20, 2016
ivltests Merge branch 'master' of github.com:steveicarus/ivtest Feb 17, 2017
obsolete Removed all mentions of hardcoded perl path Dec 13, 2015
perl-lib Update normal ans strict test to work with development as V11 Aug 16, 2015
src Remove spacing errors Oct 11, 2012
vhdl_gold Update simple_gen.gold as line numbers in report output have changed Apr 6, 2011
vhdl_tests Remove spacing errors Oct 11, 2012
vpi Fix space issues Oct 29, 2016
vpi_gold Add regression test for br_gh117. Sep 25, 2016
.gitattributes Preserve Unix line endings in ivltests/pr1819452.txt. May 10, 2015
.gitignore Remove *.tmp files during clean up. Dec 8, 2015
COPYING Initial revision Nov 7, 2000
README Add diagnostics to sformatf test and list as expected MinGW failure. Oct 14, 2016
blif.list Added tests for barrel shifter. Jun 13, 2016
blif_reg.py Tolerate errors in blif testsuite. Jun 13, 2016
find_valg_all Update two tests and modify/add the valgrind check scripts Jan 1, 2013
find_valg_errs Update two tests and modify/add the valgrind check scripts Jan 1, 2013
regress The regress script calls the vvp_reg.pl program. Jan 4, 2008
regress-ivl1.list Fix space issues Aug 25, 2015
regress-ivl2.list Made the switch to using the refactored test lists. Jan 5, 2015
regress-sv.list Merge branch 'master' of github.com:steveicarus/ivtest Dec 29, 2016
regress-synth.list Added regression tests for br1003 and br_gh115. Jul 22, 2016
regress-v0.8.list Made the switch to using the refactored test lists. Jan 5, 2015
regress-v0.9.list Fix space issues Aug 25, 2015
regress-v10.list Add regression test for br_gh127 and update expected results. Sep 17, 2016
regress-v11.list Updated test lists and expected results for latch synthesis. Mar 12, 2016
regress-vams.list Added regression tests for BR974 and GitHub issue #99. Apr 18, 2016
regress-vhdl.list vhdl_resize: resize() function test Sep 5, 2016
regress-vlg.list Added regression test for br_gh142. Jan 29, 2017
regress-vlog95.list Added regression tests for br_gh129 and br_gh130. Nov 25, 2016
regression_report-devel.txt Added regression test for br_gh142. Jan 29, 2017
regression_report-strict.txt Added regression test for br_gh142. Jan 29, 2017
regression_report-v0.8.txt Update test results Mar 12, 2012
regression_report-v0.9.txt Update V0.9 test results Aug 19, 2015
regression_report-v10.txt Added regression test for br_gh142. Jan 29, 2017
regression_report-vlog95.txt Added regression test for br_gh142. Jan 29, 2017
sv_regress.list Move some tests from sv_regress.list to main regress.list Apr 30, 2012
vhdl_reg.pl Removed all mentions of hardcoded perl path Dec 13, 2015
vhdl_regress.list Add test for pr3397689 Aug 28, 2011
vhdl_regression_report-devel.txt Update VHDL test results. Sep 12, 2011
vlog95_reg.pl Removed all mentions of hardcoded perl path Dec 13, 2015
vpi_reg.pl Add regression test for br_gh117. Sep 25, 2016
vpi_regress.list Add regression test for br_gh117. Sep 25, 2016
vvp_reg.pl Removed all mentions of hardcoded perl path Dec 13, 2015

README

####################
#
# Main test script
#
####################

There are a group of tests that are meant to exercise the compiler
and the run time. To run them just type:

./regress

or

perl vvp_reg.pl

or if perl is located in /usr/bin

./vvp_reg.pl

The output from these tests are displayed on the screen
and are also placed in the regression_report.txt file.
The expected output for the current development release
is located in the regression_report-devel.txt file. The
expected output for stable (released) versions can be
found in files named regression_report-v<version>.txt.

The results from individual tests can be found in the
log directory and gold files, when needed, are in the
gold directory. The source files can be found in the
ivltests and contrib directories. The list of tests
and how they are run is in the regress.list file.

To check a specific suffixed version of Icarus Verilog
use the --suffix=<suffix> flag to tell the script which
version to run e.g.(--suffix=-0.9 will test iverilog-0.9,
etc.). You can also run the test with valgrind (very very
slow) by giving the script the --with-valgrind flag.


####################
#
# VPI test script
#
####################

To test the VPI interface type:

perl vpi_reg.pl

or if perl is located in /usr/bin

./vpi_reg.pl

All these tests should pass for V0.10.devel and V0.9.?.
V0.8.? is expected to fail for realtime (64 bit time
issue) and memmon (no full array call backs).

The individual test results are found in the vpi_log
directory and the gold files are in the vpi_gold
directory. The source files are in the vpi directory.
The vpi_regress.list file has the tests to perform.

This script also takes the --suffix=<suffix> and the
--with-valgrind flags described above.


####################
#
# VHDL test script
#
####################

This test script require that ghdl be installed in your
path and is used to test the Verilog to VHDL translation.

perl vhdl_reg.pl

or if perl is located in /usr/bin

./vhdl_reg.pl

The expected output for V0.10.devel and V0.9 is located
in the vhdl_regression_report-devel.txt file. V0.8 does
not support converting Verilog to VHDL.

This script also takes the --suffix=<suffix> and the
--with-valgrind flags described above.


####################
#
# BLIF test script
#
####################

This test script require that abc be installed in your
path and is used to test the Verilog to VHDL translation.

python blif_reg.py

There is no expected output as of yet so to check for
regressions simply run with and without your patches.


####################
#
# Windows (MinGW) test issues
#
####################

Running under Windows (using a MinGW build) the following tests are
expected to fail:

pr1699519       - MinGW has three digit exponents.
pr1873372       - MinGW has three digit exponents
pr2509349a      - MinGW cannot find /tmp
pr2590274a      - MinGW has three digit exponents
pr2590274b      - MinGW has three digit exponents
pr2590274c      - MinGW has three digit exponents
sformatf        - MinGW has three digit exponents
swrite          - MinGW has three digit exponents
test_va_math    - MinGW has three digit exponents
test_vams_math  - MinGW has three digit exponents

pr723  - MinGW has some fd problems that need to be investigated.

v0.9 hasn't been updated to use the MinGW ANSI stdio functions, so
has the following additional failures:

ca_time         - %#g of 0.0 gives six decimal digits
delayed_sfunc   - %#g of 0.0 gives six decimal digits
pr1703120       - integer infinity and infinity display
pr1752823a      - missing -0
pr1752823b      - infinity display, missing -0
pr1864115       - %#g of 0.0 gives six decimal digits
test_va_math    - infinity and NaN display, missing -0
test_vams_math  - infinity and NaN display, missing -0

All of these issues produce something that humans should recognize
as correct results (-0 == 0, extra digits, out of order text, etc.).

It is reported that the -0 problem is fixed in Windows 7 so pr1752823a
will pass and pr1752823b, test_va_math and test_vams_math only have the
other listed issues.