File: 80_vppreproc.t

package info (click to toggle)
libverilog-perl 3.482-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,728 kB
  • sloc: perl: 8,685; yacc: 3,387; cpp: 2,266; lex: 1,502; makefile: 8; fortran: 3
file content (39 lines) | stat: -rwxr-xr-x 1,355 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/perl -w
# DESCRIPTION: Perl ExtUtils: Type 'make test' to test this package
#
# Copyright 2000-2024 by Wilson Snyder.  This program is free software;
# you can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.

use IO::File;
use strict;
use Test::More;

BEGIN { plan tests => 15 }
BEGIN { require "./t/test_utils.pl"; }

print "Checking vppreproc...\n";

vppreproc ("t/80_vppreproc_none.out",     "test_dir/vppreproc_none.v",	"");
vppreproc ("t/80_vppreproc_cmped.out",    "test_dir/vppreproc_cmped.v",	"--nocomment --pedantic");
vppreproc ("t/80_vppreproc_simple.out",   "test_dir/vppreproc_simple.v", "--simple");
vppreproc ("t/80_vppreproc_defines.out",  "test_dir/vppreproc_defines.v", "--dump-defines");
vppreproc ("t/80_vppreproc_rel_file.out", "test_dir/vppreproc_rel_file.v", "-f verilog/t_80_foo.f");

sub vppreproc {
    my $checkname = shift;
    my $out = shift;
    my $flags = shift;

    my $cmd = "${PERL} ./vppreproc ${flags} -y verilog inc2.v > $out";

    if (0 == run_system_no_die ($cmd)) {
	pass("run command");
	ok(-r $out, "vppreproc output from: $cmd");
	ok(files_identical ($out, $checkname), "diff");
    } else {
	fail ("run command");
	fail ("no output file created");
	fail ("no output file to compare");
    }
}