mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
verilog: add tests
Run recommended self-tests from iverilog's CI. Tests add about a minute to the build time on local machine (2 -> 3 mins).
This commit is contained in:
parent
0d9a6e2da5
commit
ba886f7b1a
@ -1,7 +1,17 @@
|
||||
{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses
|
||||
, bzip2, zlib
|
||||
# Test inputs
|
||||
, perl
|
||||
}:
|
||||
|
||||
let
|
||||
iverilog-test = fetchFromGitHub {
|
||||
owner = "steveicarus";
|
||||
repo = "ivtest";
|
||||
rev = "6882cb8ec08926c4e356c6092f0c5f8c23328d5c";
|
||||
sha256 = "04sj5nqzwls1y760kgnd9c2whkcrr8kvj9lisd5rvk0w580kjb2x";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "iverilog";
|
||||
version = "unstable-2020-08-24";
|
||||
@ -24,6 +34,28 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ readline ncurses bzip2 zlib ];
|
||||
|
||||
# tests from .travis.yml
|
||||
doCheck = true; # runs ``make check``
|
||||
# most tests pass, but some that rely on exact text of floating-point numbers fail on aarch64.
|
||||
doInstallCheck = !stdenv.isAarch64;
|
||||
installCheckInputs = [ perl ];
|
||||
|
||||
installCheckPhase = ''
|
||||
# copy tests to allow writing results
|
||||
export TESTDIR=$(mktemp -d)
|
||||
cp -r ${iverilog-test}/* $TESTDIR
|
||||
|
||||
pushd $TESTDIR
|
||||
|
||||
# Run & check tests
|
||||
PATH=$out/bin:$PATH perl vvp_reg.pl
|
||||
# Check the tests, will error if unexpected tests fail. Some failures MIGHT be normal.
|
||||
diff regression_report-devel.txt regression_report.txt
|
||||
PATH=$out/bin:$PATH perl vpi_reg.pl
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Icarus Verilog compiler";
|
||||
homepage = "http://iverilog.icarus.com/";
|
||||
|
Loading…
Reference in New Issue
Block a user