update some tests to skip if prerequisites aren't installed

This commit is contained in:
David Stanford 2020-02-25 21:18:19 -06:00
parent c6b755a12e
commit 58d42096c2
5 changed files with 31 additions and 18 deletions

View File

@ -38,3 +38,4 @@ Todd Strader
Wilson Snyder Wilson Snyder
Yutetsu TAKATSUKASA Yutetsu TAKATSUKASA
Yves Mathieu Yves Mathieu
David Stanford

View File

@ -98,9 +98,11 @@ Additionally, to build or run Verilator you need these standard packages:
Those developing Verilator may also want these (see internals.adoc): Those developing Verilator may also want these (see internals.adoc):
sudo apt-get install gdb asciidoctor graphviz sudo apt-get install gdb asciidoctor graphviz cmake
cpan install Pod::Perldoc cpan install Pod::Perldoc
cpan install Unix::Processors cpan install Unix::Processors
cpan install Parallel::Forker
cpan install Bit::Vector
==== Install SystemC ==== Install SystemC

View File

@ -625,6 +625,10 @@ with e.g. "sudo cpan install Parallel::Forker".
* vcddiff to find differences in VCD outputs. See the readme at * vcddiff to find differences in VCD outputs. See the readme at
https://github.com/veripool/vcddiff https://github.com/veripool/vcddiff
* Cmake for build paths that use it.
* Bit::Vector to test vgen.pl
=== Controlling the Test Driver === Controlling the Test Driver
Test drivers are written in PERL. All invoke the main test driver script, Test drivers are written in PERL. All invoke the main test driver script,

View File

@ -7,6 +7,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
# Lesser General Public License Version 3 or the Perl Artistic License # Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0. # Version 2.0.
scenarios(simulator => 1); scenarios(simulator => 1);
compile( compile(
@ -14,15 +15,18 @@ compile(
verilator_make_cmake => 1, verilator_make_cmake => 1,
); );
system("cmake --version");
if ($? != 0) {
skip("cmake is not installed");
} else {
my $cmakecache = $Self->{obj_dir}."/CMakeCache.txt";
if (! -e $cmakecache) {
error("$cmakecache does not exist.")
}
my $cmakecache = $Self->{obj_dir}."/CMakeCache.txt"; execute(
if (! -e $cmakecache) { check_finished => 1,
error("$cmakecache does not exist") );
} }
execute(
check_finished => 1,
);
ok(1); ok(1);
1; 1;

View File

@ -9,21 +9,23 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
scenarios(simulator => 1); scenarios(simulator => 1);
if (eval "use Bit::Vector; return 2;" != 2) { error("Please install Bit::Vector"); } if (eval "use Bit::Vector; return 2;" != 2) {
skip("Vgen test requires Bit::Vector");
} else {
top_filename("$Self->{obj_dir}/vgen.v"); top_filename("$Self->{obj_dir}/vgen.v");
run(cmd => ["./vgen.pl", run(cmd => ["./vgen.pl",
"-o $Self->{top_filename}", "-o $Self->{top_filename}",
#"--seed 0", #"--seed 0",
]); ]);
compile( compile(
); );
execute( execute(
check_finished => 1, check_finished => 1,
); );
}
ok(1); ok(1);
1; 1;