2024-01-11 19:23:32 +00:00
|
|
|
nomalloc = environment({'MALLOC_PERTURB_': '0'})
|
|
|
|
|
2024-01-19 16:03:47 +00:00
|
|
|
bash = find_program('bash')
|
2024-01-20 18:39:31 +00:00
|
|
|
testCommands = ['run_test.sh', quickerNESTester.path(), quickNESTester.path() ]
|
2024-01-19 16:03:47 +00:00
|
|
|
testTimeout = 120
|
|
|
|
|
2024-01-20 18:39:31 +00:00
|
|
|
# Tests for copyrighted game roms (only for local testing or own CI runners)
|
|
|
|
protectedTestSet = [
|
|
|
|
'arkanoid.warpless.test',
|
|
|
|
'arkanoid.warps.test',
|
|
|
|
'castlevania1.anyPercent.test',
|
|
|
|
'castlevania1.pacifist.test',
|
|
|
|
'galaga.anyPercent.test',
|
|
|
|
'ironSword.anyPercent.test',
|
|
|
|
'metroid.playaround.test',
|
|
|
|
'nigelMansell.anyPercent.test',
|
|
|
|
'ninjaGaiden.anyPercent.test',
|
|
|
|
'ninjaGaiden.pacifist.test',
|
|
|
|
'ninjaGaiden2.anyPercent.test',
|
|
|
|
'ninjaGaiden2.pacifist.test',
|
|
|
|
'novaTheSquirrel.anyPercent.test',
|
|
|
|
'princeOfPersia.anyPercent.test',
|
2024-01-21 15:35:02 +00:00
|
|
|
'rcProAmII.race1.test',
|
2024-01-20 18:39:31 +00:00
|
|
|
'saintSeiyaKanketsuHen.anyPercent.test',
|
|
|
|
'saintSeiyaOugonDensetsu.anyPercent.test',
|
|
|
|
'saiyuukiWorld.anyPercent.test',
|
|
|
|
'solarJetman.anyPercent.test',
|
|
|
|
'sprilo.anyPercent.test',
|
|
|
|
'superMarioBros.warpless.test',
|
|
|
|
'superMarioBros.warps.test',
|
|
|
|
'superMarioBros3.warps.test',
|
|
|
|
'superOffroad.anyPercent.test',
|
|
|
|
'tennis.anyPercent.test',
|
|
|
|
]
|
2024-01-20 07:42:22 +00:00
|
|
|
|
2024-01-20 18:39:31 +00:00
|
|
|
# Tests for open source free roms (for public cloud testing)
|
|
|
|
openSourceTestSet = [
|
|
|
|
'novaTheSquirrel.anyPercent.test',
|
|
|
|
'sprilo.anyPercent.test',
|
|
|
|
]
|
2024-01-20 07:42:22 +00:00
|
|
|
|
2024-01-20 18:39:31 +00:00
|
|
|
# Creating test set based on whether copyrighted roms are to be used
|
|
|
|
testSet = openSourceTestSet
|
|
|
|
if get_option('onlyOpenSource') == false
|
|
|
|
testSet += protectedTestSet
|
2024-01-20 07:42:22 +00:00
|
|
|
endif
|
|
|
|
|
2024-01-20 18:39:31 +00:00
|
|
|
# Adding tests to the suite
|
|
|
|
foreach testFile : testSet
|
|
|
|
testSuite = testFile.split('.')[0]
|
|
|
|
testName = testFile.split('.')[1]
|
|
|
|
test(testName,
|
|
|
|
bash,
|
|
|
|
workdir : meson.current_source_dir(),
|
|
|
|
timeout: testTimeout,
|
|
|
|
args : [ testCommands, testFile, '--cycleType', 'Full'],
|
|
|
|
suite : [ testSuite ])
|
|
|
|
endforeach
|
|
|
|
|
2024-02-24 16:43:33 +00:00
|
|
|
# Special test case for castlevania 3, since it doesn't work with quickNES
|
|
|
|
if get_option('onlyOpenSource') == false
|
|
|
|
testFile = 'castlevania3.playaround.test'
|
|
|
|
testSuite = testFile.split('.')[0]
|
|
|
|
testName = testFile.split('.')[1]
|
|
|
|
test(testName,
|
|
|
|
quickerNESTester,
|
|
|
|
workdir : meson.current_source_dir(),
|
|
|
|
timeout: testTimeout,
|
|
|
|
args : [ testFile, '--cycleType', 'Full'],
|
|
|
|
suite : [ testSuite ])
|
|
|
|
endif
|
|
|
|
|
2024-02-24 19:41:30 +00:00
|
|
|
# Special test cases for from-save-state start, since it doesn't work with quickNES
|
2024-02-24 16:43:33 +00:00
|
|
|
if get_option('onlyOpenSource') == false
|
|
|
|
testFile = 'saiyuukiWorld.lastHalf.test'
|
|
|
|
testSuite = testFile.split('.')[0]
|
|
|
|
testName = testFile.split('.')[1]
|
|
|
|
test(testName,
|
|
|
|
quickerNESTester,
|
|
|
|
workdir : meson.current_source_dir(),
|
|
|
|
timeout: testTimeout,
|
|
|
|
args : [ testFile, '--cycleType', 'Full'],
|
|
|
|
suite : [ testSuite ])
|
2024-02-24 19:41:30 +00:00
|
|
|
|
|
|
|
testFile = 'microMachines.race20.test'
|
|
|
|
testSuite = testFile.split('.')[0]
|
|
|
|
testName = testFile.split('.')[1]
|
|
|
|
test(testName,
|
|
|
|
quickerNESTester,
|
|
|
|
workdir : meson.current_source_dir(),
|
|
|
|
timeout: testTimeout,
|
|
|
|
args : [ testFile, '--cycleType', 'Full'],
|
|
|
|
suite : [ testSuite ])
|
2024-02-24 16:43:33 +00:00
|
|
|
endif
|