Skip to content

Commit

Permalink
Added size numbers to all build tests. Fixed that test script didn't …
Browse files Browse the repository at this point in the history
…recognize the "Empty image" line output by c1541 when an image contains no files.
  • Loading branch information
fredrikr committed Nov 16, 2023
1 parent 18fd1cb commit 54627bf
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions tests/test_builds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ def finalize_test(build_result, problem, outfiles)
outfiles.keys.each { |filename|
sizes = outfiles[filename]
if sizes.is_a?(Hash) then
sizes = sizes.clone
cmd = "#{$C1541} -a #{filename} -l > #{$dirfile}"
`#{cmd}`
show_lines = false
Expand All @@ -72,7 +73,7 @@ def finalize_test(build_result, problem, outfiles)
end
File.readlines($dirfile, chomp: true).each do |line|
puts "DIR: #{line}" if show_lines
next if line =~ /^0 .* [0-9a-f]{2} (2a|3d)$/
next if line =~ /^0 .* [0-9a-f]{2} (2a|3d)$/ or line =~ /^Empty image$/
if line =~ /^(\d+) blocks free/ then
bf = $1.to_i
diff = compare_to_spec(bf, sizes['*FREE'])
Expand Down Expand Up @@ -162,26 +163,37 @@ def expect_failure(storyfile, target, params, message, allow_successful_build, o
expect_success(dragontroll, 'c64', '-81 -p:255 -re -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -if ../examples/eka.kla -ch -sb:12 -rb:1 -smooth -cb:30 -cs:b -dt:"monkey monkey 12" -sw:30 -ss1:"123456789 123456789 123456789 123456789" -ss2:"123456789 123456789 123456789 123456789" -ss4:"123456789 123456789 123456789 123456789" -ss3:"123456789 123456789 123456789 123456789"',
{'c64_dragontroll.d81' => {'loader' => [32,34], 'data' => 40, 'hello' => [63, 71], '*FREE' => [3016, 3024] }})

expect_success(minizork, 'c64', '-81 -p:255 -re -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -if ../examples/eka.kla -ch -sb:12 -rb:1 -smooth -cb:30 -cs:b -dt:"monkey monkey 12" -sw:30 -ss1:"123456789 123456789 123456789 123456789" -ss2:"123456789 123456789 123456789 123456789" -ss4:"123456789 123456789 123456789 123456789" -ss3:"123456789 123456789 123456789 123456789" -u', {'c64_minizork.d81' => 1})
expect_success(minizork, 'c64', '-81 -p:255 -re -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -if ../examples/eka.kla -ch -sb:12 -rb:1 -smooth -cb:30 -cs:b -dt:"monkey monkey 12" -sw:30 -ss1:"123456789 123456789 123456789 123456789" -ss2:"123456789 123456789 123456789 123456789" -ss4:"123456789 123456789 123456789 123456789" -ss3:"123456789 123456789 123456789 123456789" -u',
{'c64_minizork.d81' => {'loader' => [32,34], 'data' => 200, 'hello' => [137, 145], '*FREE' => [2782, 2790] }})

expect_success(dragontroll, 'c64', '-81 -p:0 -b -sp:4 -re -sl -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -if ../examples/eka.kla -ch:255 -sb:6 -rb -rc:4=5,6=11 -dc:2:4 -bc:5 -dm:1 -smooth -cb:30 -cc:5 -cs:u -dt:"monkey" -rd -sw:30 -ss1:"Good game"', {'c64_dragontroll.d81' => 1})
expect_success(dragontroll, 'c64', '-81 -p:0 -b -sp:4 -re -sl -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -if ../examples/eka.kla -ch:255 -sb:6 -rb -rc:4=5,6=11 -dc:2:4 -bc:5 -dm:1 -smooth -cb:30 -cc:5 -cs:u -dt:"monkey" -rd -sw:30 -ss1:"Good game"',
{'c64_dragontroll.d81' => {'loader' => [32,34], 'data' => 40, 'hello' => [51, 59], '*FREE' => [3028, 3036] }})

expect_success(dragontroll, 'c64', '-P -sp:10 -ss1:"This is the greatest game ever made"',
{'c64_dragontroll.d64' => {'story' => [44, 52], '*FREE' => [612,620]}})

expect_success(dragontroll, 'c64', '-S2 -sp:8 -sl', {'c64_dragontroll_boot.d64' => 1, 'c64_dragontroll_story.d64' => 1})
expect_success(dragontroll, 'c64', '-S2 -sp:8 -sl',
{'c64_dragontroll_boot.d64' => {'story' => [51, 59], '*FREE' => [603,611]},
'c64_dragontroll_story.d64' => {'*FREE' => [638,646]}})

expect_success(minizork, 'plus4', '-81 -p:1 -b -sp:4 -re -sl -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -i ../examples/scifi.mbo -ch:255 -sb:6 -rc:4=5,6=11 -dc:2:4 -bc:5 -sc:5 -ic:5 -dm:0 -cb:99 -cc:5 -cs:l -dt:"monkey 2" -rd -sw:30 -ss1:"Good game"', {'plus4_minizork.d81' => 1})
expect_success(minizork, 'plus4', '-81 -p:1 -b -sp:4 -re -sl -fn:hello -f ../fonts/sv/PXLfont-rf-SV.fnt -cm:sv -in:3 -i ../examples/scifi.mbo -ch:255 -sb:6 -rc:4=5,6=11 -dc:2:4 -bc:5 -sc:5 -ic:5 -dm:0 -cb:99 -cc:5 -cs:l -dt:"monkey 2" -rd -sw:30 -ss1:"Good game"', {
'plus4_minizork.d81' => {'loader' => [19,21], 'data' => 200, 'hello' => [62, 70], '*FREE' => [2870, 2878]}})

expect_success(minizork, 'c64', '-P -sw:0 -rb:0', {'c64_minizork.d64' => 1})
expect_success(minizork, 'c64', '-P -sw:0 -rb:0', {
'c64_minizork.d64' => {'story' => [175, 183], '*FREE' => [481, 489]}})

expect_success(minizork, 'c64', '-D2 -dmdc:2:3 -dmbc:4 -dmsc:5 -dmic:2 -dmcc:4 -sw:0 -sb -u', {'c64_minizork_boot_story_1.d64' => 1, 'c64_minizork_story_2.d64' => 1})
expect_success(minizork, 'c64', '-D2 -dmdc:2:3 -dmbc:4 -dmsc:5 -dmic:2 -dmcc:4 -sw:0 -sb -u', {
'c64_minizork_boot_story_1.d64' => {'story' => [176, 184], '*FREE' => [394, 402]},
'c64_minizork_story_2.d64' => {'*FREE' => [574, 582]}})

expect_success(minizork, 'plus4', '-S1 -sb:6', {'plus4_minizork.d64' => 1})
expect_success(minizork, 'plus4', '-S1 -sb:6', {
'plus4_minizork.d64' => {'story' => [150, 158], '*FREE' => [334, 342]}})

expect_success(minizork, 'c128', '-sb:12 -rb:0', {'c128_minizork.d71' => 1})
expect_success(minizork, 'c128', '-sb:12 -rb:0', {
'c128_minizork.d71' => {'story' => [159, 167], '*FREE' => [989, 997]}})

expect_success(minizork, 'mega65', '-u:0', {'mega65_minizork.d81' => 1})
expect_success(minizork, 'mega65', '-u:0', {
'mega65_minizork.d81' => {'autoboot.c65' => [35, 43], 'zcode' => 206, '*FREE' => [2911, 2919]}})

puts "\nTests passed: #{$passed}"
puts "\nTests not passed: #{$not_passed}"

0 comments on commit 54627bf

Please sign in to comment.