diff --git a/meson.build b/meson.build index e8febf7..2278021 100644 --- a/meson.build +++ b/meson.build @@ -34,7 +34,7 @@ executable('player', # Building tester tool for QuickerNES -quickerNESTester = executable('quickerNESTester', +quickerNESTester = executable('qrTester', 'source/tester.cpp', cpp_args : [ commonCompileArgs, '-Werror' ], dependencies : [ quickerNESDependency, toolDependency ], @@ -43,7 +43,7 @@ quickerNESTester = executable('quickerNESTester', # Building tester tool for the original QuickNES -quickNESTester = executable('quickNESTester', +quickNESTester = executable('qTester', 'source/tester.cpp', cpp_args : [ commonCompileArgs ], dependencies : [ quickNESDependency, toolDependency ], diff --git a/source/tester.cpp b/source/tester.cpp index a779feb..3e69c88 100644 --- a/source/tester.cpp +++ b/source/tester.cpp @@ -16,12 +16,21 @@ int main(int argc, char *argv[]) { // Parsing command line arguments - argparse::ArgumentParser program("player", "1.0"); + argparse::ArgumentParser program("tester", "1.0"); program.add_argument("scriptFile") .help("Path to the test script file to run.") .required(); + program.add_argument("--fullCycle") + .help("Performs the full load / advance frame / save cycle, as opposed to just advance frame") + .default_value(false) + .implicit_value(true); + + program.add_argument("--hashOutputFile") + .help("Path to write the hash output to.") + .default_value(std::string("")); + // Try to parse arguments try { program.parse_args(argc, argv); } catch (const std::runtime_error &err) { EXIT_WITH_ERROR("%s\n%s", err.what(), program.help().str().c_str()); } @@ -29,6 +38,12 @@ int main(int argc, char *argv[]) // Getting test script file path std::string scriptFilePath = program.get("scriptFile"); + // Getting path where to save the hash output (if any) + std::string hashOutputFile = program.get("--hashOutputFile"); + + // Getting reproduce flag + bool isFullCycle = program.get("--fullCycle"); + // Loading script file std::string scriptJsonRaw; if (loadStringFromFile(scriptJsonRaw, scriptFilePath) == false) EXIT_WITH_ERROR("Could not find/read script file: %s\n", scriptFilePath.c_str()); @@ -46,11 +61,6 @@ int main(int argc, char *argv[]) if (scriptJson["Initial State File"].is_string() == false) EXIT_WITH_ERROR("Script file 'Initial State File' entry is not a string\n"); std::string initialStateFilePath = scriptJson["Initial State File"].get(); - // Getting verification state file path - if (scriptJson.contains("Verification State File") == false) EXIT_WITH_ERROR("Script file missing 'Verification State File' entry\n"); - if (scriptJson["Verification State File"].is_string() == false) EXIT_WITH_ERROR("Script file 'Verification State File' entry is not a string\n"); - std::string verificationStateFilePath = scriptJson["Verification State File"].get(); - // Getting sequence file path if (scriptJson.contains("Sequence File") == false) EXIT_WITH_ERROR("Script file missing 'Sequence File' entry\n"); if (scriptJson["Sequence File"].is_string() == false) EXIT_WITH_ERROR("Script file 'Sequence File' entry is not a string\n"); @@ -91,18 +101,6 @@ int main(int argc, char *argv[]) // Checking with the expected SHA1 hash if (romSHA1 != expectedROMSHA1) EXIT_WITH_ERROR("Wrong ROM SHA1. Found: '%s', Expected: '%s'\n", romSHA1.c_str(), expectedROMSHA1.c_str()); - // Loading state file for verication, if provided - std::string verificationState; - if (verificationStateFilePath != "") - { - // Loading file - if (loadStringFromFile(verificationState, verificationStateFilePath) == false) - EXIT_WITH_ERROR("[ERROR] Could not find or read from verification state file: %s\n", verificationStateFilePath.c_str()); - - // Checking size - if (verificationState.length() != stateSize) EXIT_WITH_ERROR("[ERROR] The provided verification state has different size from expected: %lu vs %lu\n", verificationState.length(), stateSize); - } - // Loading sequence file std::string sequenceRaw; if (loadStringFromFile(sequenceRaw, sequenceFilePath) == false) EXIT_WITH_ERROR("[ERROR] Could not find or read from input sequence file: %s\n", sequenceFilePath.c_str()); @@ -119,10 +117,10 @@ int main(int argc, char *argv[]) // Printing test information printf("[] -----------------------------------------\n"); printf("[] Running Script: '%s'\n", scriptFilePath.c_str()); + printf("[] Cycle Type: '%s'\n", isFullCycle ? "Load / Advance / Save" : "Advance Only"); printf("[] Emulation Core: '%s'\n", emulationCoreName.c_str()); printf("[] ROM File: '%s'\n", romFilePath.c_str()); printf("[] ROM SHA1: '%s'\n", romSHA1.c_str()); - printf("[] Verification State File: '%s'\n", verificationStateFilePath.c_str()); printf("[] Sequence File: '%s'\n", sequenceFilePath.c_str()); printf("[] Sequence Length: %lu\n", sequenceLength); printf("[] Initial State Hash: 0x%lX%lX\n", initialHash.first, initialHash.second); @@ -131,9 +129,18 @@ int main(int argc, char *argv[]) fflush(stdout); + // Serializing initial state + uint8_t currentState[stateSize]; + e.serializeState(currentState); + // Actually running the sequence auto t0 = std::chrono::high_resolution_clock::now(); - for (const std::string& input : sequence) e.advanceState(input); + for (const std::string& input : sequence) + { + if (isFullCycle == true) e.deserializeState(currentState); + e.advanceState(input); + if (isFullCycle == true) e.serializeState(currentState); + } auto tf = std::chrono::high_resolution_clock::now(); // Calculating running time @@ -143,29 +150,19 @@ int main(int argc, char *argv[]) // Calculating final state hash const auto finalStateHash = e.getStateHash(); - // If provided, verify result against the passed verification movie - bool verificationPassed = true; - hash_t verificationStateHash; - if (verificationStateFilePath != "") - { - // Loading verification state into the emulator - e.deserializeState((uint8_t*)verificationState.data()); - - // Calculating hash for the verification state - verificationStateHash = e.getStateHash(); - - // Comparing hashes - if (verificationStateHash != finalStateHash) verificationPassed = false; - } + // Creating hash string + char hashStringBuffer[256]; + sprintf(hashStringBuffer, "0x%lX%lX", finalStateHash.first, finalStateHash.second); // Printing time information printf("[] Elapsed time: %3.3fs\n", (double)dt * 1.0e-9); printf("[] Performance: %.3f steps / s\n", (double)sequenceLength / elapsedTimeSeconds); - printf("[] Final State Hash: 0x%lX%lX\n", finalStateHash.first, finalStateHash.second); - if (verificationStateFilePath != "") - printf("[] Verification Hash: 0x%lX%lX (%s)\n", verificationStateHash.first, verificationStateHash.second, verificationPassed ? "Passed" : "Failed"); + printf("[] Final State Hash: %s\n", hashStringBuffer); - // Fail if verification didn't pass - return verificationPassed ? 0 : -1; + // If saving hash, do it now + if (hashOutputFile != "") saveStringToFile(std::string(hashStringBuffer), hashOutputFile.c_str()); + + // If reached this point, everything ran ok + return 0; } diff --git a/tests/.gitignore b/tests/.gitignore index 63aa242..4f4a32c 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -3,4 +3,6 @@ *.zip *.fds test.sol +*.hash +*.out diff --git a/tests/games/arkanoid/meson.build b/tests/games/arkanoid/meson.build index 95d3869..d00a80e 100644 --- a/tests/games/arkanoid/meson.build +++ b/tests/games/arkanoid/meson.build @@ -1,7 +1,11 @@ game = 'arkanoid' +bash = find_program('bash') + goal = 'warpless' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) goal = 'warps' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/arkanoid/warpless.final.state b/tests/games/arkanoid/warpless.final.state deleted file mode 100644 index b5a4310..0000000 Binary files a/tests/games/arkanoid/warpless.final.state and /dev/null differ diff --git a/tests/games/arkanoid/warps.final.state b/tests/games/arkanoid/warps.final.state deleted file mode 100644 index 1b6baab..0000000 Binary files a/tests/games/arkanoid/warps.final.state and /dev/null differ diff --git a/tests/games/castlevania1/anyPercent.final.state b/tests/games/castlevania1/anyPercent.final.state deleted file mode 100644 index 94a50e6..0000000 Binary files a/tests/games/castlevania1/anyPercent.final.state and /dev/null differ diff --git a/tests/games/castlevania1/meson.build b/tests/games/castlevania1/meson.build index bdaa871..cb0c3e9 100644 --- a/tests/games/castlevania1/meson.build +++ b/tests/games/castlevania1/meson.build @@ -1,7 +1,9 @@ game = 'castlevania1' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) goal = 'pacifist' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/castlevania1/pacifist.final.state b/tests/games/castlevania1/pacifist.final.state deleted file mode 100644 index 6159245..0000000 Binary files a/tests/games/castlevania1/pacifist.final.state and /dev/null differ diff --git a/tests/games/galaga/anyPercent.final.state b/tests/games/galaga/anyPercent.final.state deleted file mode 100644 index 186e671..0000000 Binary files a/tests/games/galaga/anyPercent.final.state and /dev/null differ diff --git a/tests/games/galaga/meson.build b/tests/games/galaga/meson.build index 34628e5..bc3f46f 100644 --- a/tests/games/galaga/meson.build +++ b/tests/games/galaga/meson.build @@ -1,4 +1,5 @@ game = 'galaga' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ], timeout: 60) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/ironSword/anyPercent.final.state b/tests/games/ironSword/anyPercent.final.state deleted file mode 100644 index 78f6364..0000000 Binary files a/tests/games/ironSword/anyPercent.final.state and /dev/null differ diff --git a/tests/games/ironSword/meson.build b/tests/games/ironSword/meson.build index d4a9b00..d6682b7 100644 --- a/tests/games/ironSword/meson.build +++ b/tests/games/ironSword/meson.build @@ -1,4 +1,5 @@ game = 'ironSword' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/meson.build b/tests/games/meson.build index 5191586..1d57f96 100644 --- a/tests/games/meson.build +++ b/tests/games/meson.build @@ -1,5 +1,8 @@ nomalloc = environment({'MALLOC_PERTURB_': '0'}) +bash = find_program('bash') +testCommands = ['../run_test.sh', quickerNESTester.path(), quickNESTester.path() ] + subdir('arkanoid') subdir('castlevania1') subdir('superOffroad') diff --git a/tests/games/nigelMansell/anyPercent.final.state b/tests/games/nigelMansell/anyPercent.final.state deleted file mode 100644 index a379dcb..0000000 Binary files a/tests/games/nigelMansell/anyPercent.final.state and /dev/null differ diff --git a/tests/games/nigelMansell/meson.build b/tests/games/nigelMansell/meson.build index 4c1adaa..13bb41a 100644 --- a/tests/games/nigelMansell/meson.build +++ b/tests/games/nigelMansell/meson.build @@ -1,4 +1,5 @@ game = 'nigelMansell' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ], timeout: 60) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), timeout: 60, args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), timeout: 60, args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/ninjaGaiden/anyPercent.final.state b/tests/games/ninjaGaiden/anyPercent.final.state deleted file mode 100644 index 69f798d..0000000 Binary files a/tests/games/ninjaGaiden/anyPercent.final.state and /dev/null differ diff --git a/tests/games/ninjaGaiden/meson.build b/tests/games/ninjaGaiden/meson.build index 6572e9c..0f3eaea 100644 --- a/tests/games/ninjaGaiden/meson.build +++ b/tests/games/ninjaGaiden/meson.build @@ -1,7 +1,9 @@ game = 'ninjaGaiden' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) goal = 'pacifist' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/ninjaGaiden/pacifist.final.state b/tests/games/ninjaGaiden/pacifist.final.state deleted file mode 100644 index b1d18f1..0000000 Binary files a/tests/games/ninjaGaiden/pacifist.final.state and /dev/null differ diff --git a/tests/games/ninjaGaiden2/anyPercent.final.state b/tests/games/ninjaGaiden2/anyPercent.final.state deleted file mode 100644 index 2f4f2eb..0000000 Binary files a/tests/games/ninjaGaiden2/anyPercent.final.state and /dev/null differ diff --git a/tests/games/ninjaGaiden2/meson.build b/tests/games/ninjaGaiden2/meson.build index 84fcbab..a0c1810 100644 --- a/tests/games/ninjaGaiden2/meson.build +++ b/tests/games/ninjaGaiden2/meson.build @@ -1,7 +1,9 @@ game = 'ninjaGaiden2' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) goal = 'pacifist' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/ninjaGaiden2/pacifist.final.state b/tests/games/ninjaGaiden2/pacifist.final.state deleted file mode 100644 index 3e1305d..0000000 Binary files a/tests/games/ninjaGaiden2/pacifist.final.state and /dev/null differ diff --git a/tests/games/princeOfPersia/lvl7.final.state b/tests/games/princeOfPersia/lvl7.final.state deleted file mode 100644 index 92019ac..0000000 Binary files a/tests/games/princeOfPersia/lvl7.final.state and /dev/null differ diff --git a/tests/games/princeOfPersia/meson.build b/tests/games/princeOfPersia/meson.build index 169e36d..93d787e 100644 --- a/tests/games/princeOfPersia/meson.build +++ b/tests/games/princeOfPersia/meson.build @@ -1,4 +1,5 @@ game = 'princeOfPersia' goal = 'lvl7' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/run_test.sh b/tests/games/run_test.sh new file mode 100755 index 0000000..705315e --- /dev/null +++ b/tests/games/run_test.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Stop if anything fails +set -e + +# Getting executable paths +quickerNESExecutable=${1} +quickNESExecutable=${2} + +# Getting script name +script=${3} + +# Getting additional arguments +testerArgs=${@:4} + +# If running full cycle, add that to the hash file output +mode="normal" +if [ "${4}" = "--fullCycle" ]; then mode="fullCycle"; fi + +# Running script on quickerNES +${quickerNESExecutable} ${script} --hashOutputFile quickerNES.${script}.${mode}.hash ${testerArgs} + +# Running script on quickNES +${quickNESExecutable} ${script} --hashOutputFile quickNES.${script}.${mode}.hash ${testerArgs} + +# Comparing hashes +quickerNESHash=`cat quickerNES.hash` + +# Comparing hashes +quickNESHash=`cat quickNES.hash` + +# Compare hashes +if [ "${quickerNESHash}" = "${quickNESHash}" ]; then + echo "[] Test Passed" + exit 0 +else + echo "[] Test Failed" + exit -1 +fi diff --git a/tests/games/saintSeiyaKanketsuHen/anyPercent.final.state b/tests/games/saintSeiyaKanketsuHen/anyPercent.final.state deleted file mode 100644 index 193c21b..0000000 Binary files a/tests/games/saintSeiyaKanketsuHen/anyPercent.final.state and /dev/null differ diff --git a/tests/games/saintSeiyaKanketsuHen/meson.build b/tests/games/saintSeiyaKanketsuHen/meson.build index 143245b..8d704bc 100644 --- a/tests/games/saintSeiyaKanketsuHen/meson.build +++ b/tests/games/saintSeiyaKanketsuHen/meson.build @@ -1,4 +1,5 @@ game = 'saintSeiyaKanketsuHen' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ], timeout: 60) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/saintSeiyaOugonDensetsu/anyPercent.final.state b/tests/games/saintSeiyaOugonDensetsu/anyPercent.final.state deleted file mode 100644 index 00ef29e..0000000 Binary files a/tests/games/saintSeiyaOugonDensetsu/anyPercent.final.state and /dev/null differ diff --git a/tests/games/saintSeiyaOugonDensetsu/meson.build b/tests/games/saintSeiyaOugonDensetsu/meson.build index addc00a..e9280ee 100644 --- a/tests/games/saintSeiyaOugonDensetsu/meson.build +++ b/tests/games/saintSeiyaOugonDensetsu/meson.build @@ -1,4 +1,5 @@ game = 'saintSeiyaOugonDensetsu' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ], timeout: 60) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/solarJetman/anyPercent.final.state b/tests/games/solarJetman/anyPercent.final.state deleted file mode 100644 index 874b2fe..0000000 Binary files a/tests/games/solarJetman/anyPercent.final.state and /dev/null differ diff --git a/tests/games/solarJetman/meson.build b/tests/games/solarJetman/meson.build index 745f692..64781b0 100644 --- a/tests/games/solarJetman/meson.build +++ b/tests/games/solarJetman/meson.build @@ -1,4 +1,5 @@ game = 'solarJetman' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/superMarioBros/meson.build b/tests/games/superMarioBros/meson.build index 781d653..fad8cae 100644 --- a/tests/games/superMarioBros/meson.build +++ b/tests/games/superMarioBros/meson.build @@ -1,7 +1,9 @@ game = 'superMarioBros' goal = 'warps' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) goal = 'warpless' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/superMarioBros/warpless.final.state b/tests/games/superMarioBros/warpless.final.state deleted file mode 100644 index a297c60..0000000 Binary files a/tests/games/superMarioBros/warpless.final.state and /dev/null differ diff --git a/tests/games/superMarioBros/warps.final.state b/tests/games/superMarioBros/warps.final.state deleted file mode 100644 index 684fba2..0000000 Binary files a/tests/games/superMarioBros/warps.final.state and /dev/null differ diff --git a/tests/games/superOffroad/anyPercent.final.state b/tests/games/superOffroad/anyPercent.final.state deleted file mode 100644 index 0b1da06..0000000 Binary files a/tests/games/superOffroad/anyPercent.final.state and /dev/null differ diff --git a/tests/games/superOffroad/meson.build b/tests/games/superOffroad/meson.build index 5d9f17d..9aaeaed 100644 --- a/tests/games/superOffroad/meson.build +++ b/tests/games/superOffroad/meson.build @@ -1,4 +1,5 @@ game = 'superOffroad' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file diff --git a/tests/games/tennis/anyPercent.final.state b/tests/games/tennis/anyPercent.final.state deleted file mode 100644 index 5b70309..0000000 Binary files a/tests/games/tennis/anyPercent.final.state and /dev/null differ diff --git a/tests/games/tennis/meson.build b/tests/games/tennis/meson.build index 9111135..eb37be4 100644 --- a/tests/games/tennis/meson.build +++ b/tests/games/tennis/meson.build @@ -1,4 +1,5 @@ game = 'tennis' goal = 'anyPercent' -test(goal, quickerNESTester, workdir : meson.current_source_dir(), args : [ goal + '.test'], suite: [ game, goal ]) \ No newline at end of file +test(goal + '-FullCycle', bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test', '--fullCycle'], suite: [ game, goal ] ) +test(goal, bash, workdir : meson.current_source_dir(), args : [ testCommands, goal + '.test'], suite: [ game, goal ] ) \ No newline at end of file