#!perl # $Id$ use strict; use warnings; use Test::More; use File::Slurp; use File::Spec; use CPU::Z80::Assembler; # script my $infile = 't/data/test_z80.asm'; my $bmkfile = 't/data/test_z80.obj'; my $outfile = 't/test_z80.o'; my @input = read_file($infile); my $output = read_file($bmkfile, binmode => ':raw'); unlink $outfile; ok -f $infile, "$infile exists"; ok -f $bmkfile, "$bmkfile exists"; ok ! -f $outfile, "$outfile does not exist"; is system($^X, '-I'.File::Spec->catfile("blib", "lib"), File::Spec->catfile("blib", "script", "z80masm"), $infile, $outfile), 0, "z80masm $infile $outfile"; ok -f $outfile, "$outfile exists"; ok read_file($outfile, binmode => ':raw') eq $output, "$outfile eq $bmkfile"; unlink $outfile; ok ! -f $outfile, "$outfile deleted"; # z80asm with list ok z80asm(@input) eq $output, "z80asm(\@input)"; # z80asm with iterator my $it = do { my @it = @input; sub {shift @it} }; ok z80asm($it) eq $output, "z80asm(sub {})"; # z80asm with file ok z80asm("#include <$infile>") eq $output, "z80asm('#include <$infile>')"; # z80asm_file ok z80asm_file($infile) eq $output, "z80asm_file(\$infile)"; done_testing;