Commit 7dfec321 authored by twanvl's avatar twanvl

testsuite: compare output of mse against expected result

parent 6d860514
this is a test
Unicode: ☺
\ No newline at end of file
......@@ -15,16 +15,26 @@ use TestFramework;
test_case("script/Locale Errors?", sub{
run_script_test("test-blank.mse-script", ignore_locale_errors => 0);
compare_files("test-blank.out", "expected-out/test-blank.out");
});
test_case("script/Builtin Funcions", sub{
run_script_test("test-builtin.mse-script");
compare_files("test-builtin.out", "expected-out/test-builtin.out");
compare_files("textfile1.out.txt", "expected-out/textfile1.out.txt");
});
test_case("script/Magic Funcions", sub{
write_dummy_set("_dummy-magic-set.mse-set", "game: magic\nstylesheet: new\n");
run_script_test("test-magic.mse-script", set => "_dummy-magic-set.mse-set");
remove_dummy_set("_dummy-magic-set.mse-set");
compare_files("test-magic.out", "expected-out/test-magic.out");
});
test_case("compatability/2.0.0", sub{
mkdir("out");
run_export_test("magic-forum", "simple-magic-2.0.0.mse-set", "out/simple-magic-2.0.0.txt", cleanup => 1);
compare_files("out/compat2.0.0.txt", "expected-out/simple-magic-2.0.0.txt");
});
1;
......@@ -208,8 +208,10 @@ assert( curly_quotes("'this: is a string', —'q'") == "‘this: is a string’,
assert( curly_quotes("''\"nest\"''") == "‘‘“nest”’’" )
# File IO
write_text_file(file: "texfile1.out.txt", "this is a test\nUnicode: ☺");
write_text_file(file: "textfile1.out.txt", "this is a test\nUnicode: ☺");
# Include files (This doesn't work!)
#include file: test-builtin-included.mse-script
#assert(i_have_been_included == 1);
1
......@@ -8,7 +8,7 @@ package MseTestUtils;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(run_script_test run_export_test file_set_contents write_dummy_set remove_dummy_set);
@EXPORT = qw(run_script_test run_export_test file_set_contents write_dummy_set remove_dummy_set compare_files);
use strict;
use File::Basename;
......@@ -64,7 +64,9 @@ sub run_export_test {
my $errfile = basename($set,".mse-set") . ".err";
my $command = "$MAGICSETEDITOR --export \"$template\" \"$set\" \"$outfile\" 2> \"$errfile\"";
print "$command\n";
`$command`;
if (system($command) != 0) {
die("Invoking magic set editor failed\n");
}
# Check for errors / warnings
check_for_errors($errfile, $ignore_locale_errors);
......@@ -98,6 +100,24 @@ sub check_for_errors {
close FILE;
}
# -----------------------------------------------------------------------------
# Comparing files
# -----------------------------------------------------------------------------
sub compare_files {
my $out_file = shift;
my $expected_file = shift;
if (!-f $out_file) {
die("Output file missing: $out_file");
}
if (!-f $expected_file) {
die("File with expected output is missing: $expected_file");
}
if (system("diff -q \"$out_file\" \"$expected_file\"") != 0) {
die("Files differ: $out_file $expected_file");
}
}
# -----------------------------------------------------------------------------
# Information on the machine running tests
# -----------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment