enable more tests

develop
Myk Taylor 2023-08-04 20:40:24 -07:00
parent 1864090bda
commit 3358a2b516
No known key found for this signature in database
10 changed files with 25 additions and 16 deletions

@ -553,6 +553,7 @@ local function run_tests(tests, status, counts, config)
goto skip goto skip
end end
if not MODES[test.config.mode].detect() then if not MODES[test.config.mode].detect() then
print(('Switching to %s mode for test: %s'):format(test.config.mode, test.name))
local ok, err = pcall(MODES[test.config.mode].navigate, config) local ok, err = pcall(MODES[test.config.mode].navigate, config)
if not ok then if not ok then
MODES[test.config.mode].failed = true MODES[test.config.mode].failed = true

@ -207,7 +207,7 @@ end
-- returns the name of the output file for the given context -- returns the name of the output file for the given context
function get_filename(opts, phase, ordinal) function get_filename(opts, phase, ordinal)
local fullname = 'dfhack-config/blueprints/' .. opts.name local fullname = 'dfhack-config/blueprints/' .. opts.name
local _,_,basename = fullname:find('/([^/]+)/?$') local _,_,basename = opts.name:find('([^/]+)/*$')
if not basename then if not basename then
-- should not happen since opts.name should already be validated -- should not happen since opts.name should already be validated
error(('could not parse basename out of "%s"'):format(fullname)) error(('could not parse basename out of "%s"'):format(fullname))

@ -3,7 +3,7 @@ config.target = 'core'
local gui = require('gui') local gui = require('gui')
local widgets = require('gui.widgets') local widgets = require('gui.widgets')
local fs = defclass(fs, gui.FramedScreen) local fs = defclass(nil, gui.FramedScreen)
fs.ATTRS = { fs.ATTRS = {
frame_style = gui.GREY_LINE_FRAME, frame_style = gui.GREY_LINE_FRAME,
frame_title = 'TestFramedScreen', frame_title = 'TestFramedScreen',

@ -1,4 +1,4 @@
config.target = 'core' --config.target = 'core'
local h = require('helpdb') local h = require('helpdb')

@ -1,3 +1,5 @@
config.target = 'blueprint'
local b = require('plugins.blueprint') local b = require('plugins.blueprint')
-- also covers code shared between parse_gui_commandline and parse_commandline -- also covers code shared between parse_gui_commandline and parse_commandline
@ -117,9 +119,9 @@ function test.parse_gui_commandline()
function() b.parse_gui_commandline({}, {''}) end) function() b.parse_gui_commandline({}, {''}) end)
opts = {} opts = {}
b.parse_gui_commandline(opts, {'imaname', 'dig', 'query'}) b.parse_gui_commandline(opts, {'imaname', 'dig', 'place'})
expect.table_eq({auto_phase=false, format='minimal', split_strategy='none', expect.table_eq({auto_phase=false, format='minimal', split_strategy='none',
name='imaname', dig=true, query=true}, name='imaname', dig=true, place=true},
opts) opts)
expect.error_match('unknown phase', expect.error_match('unknown phase',
@ -203,9 +205,9 @@ function test.do_phase_positive_dims()
function() function()
local spos = {x=10, y=20, z=30} local spos = {x=10, y=20, z=30}
local epos = {x=11, y=21, z=31} local epos = {x=11, y=21, z=31}
b.query(spos, epos, 'imaname') b.place(spos, epos, 'imaname')
expect.eq(1, mock_run.call_count) expect.eq(1, mock_run.call_count)
expect.table_eq({'2', '2', '2', 'imaname', 'query', expect.table_eq({'2', '2', '2', 'imaname', 'place',
'--cursor=10,20,30'}, '--cursor=10,20,30'},
mock_run.call_args[1]) mock_run.call_args[1])
end) end)
@ -217,9 +219,9 @@ function test.do_phase_negative_dims()
function() function()
local spos = {x=11, y=21, z=31} local spos = {x=11, y=21, z=31}
local epos = {x=10, y=20, z=30} local epos = {x=10, y=20, z=30}
b.query(spos, epos, 'imaname') b.place(spos, epos, 'imaname')
expect.eq(1, mock_run.call_count) expect.eq(1, mock_run.call_count)
expect.table_eq({'2', '2', '-2', 'imaname', 'query', expect.table_eq({'2', '2', '-2', 'imaname', 'place',
'--cursor=10,20,31'}, '--cursor=10,20,31'},
mock_run.call_args[1]) mock_run.call_args[1])
end) end)
@ -231,9 +233,9 @@ function test.do_phase_ensure_cursor_is_at_upper_left()
function() function()
local spos = {x=11, y=20, z=30} local spos = {x=11, y=20, z=30}
local epos = {x=10, y=21, z=31} local epos = {x=10, y=21, z=31}
b.query(spos, epos, 'imaname') b.place(spos, epos, 'imaname')
expect.eq(1, mock_run.call_count) expect.eq(1, mock_run.call_count)
expect.table_eq({'2', '2', '2', 'imaname', 'query', expect.table_eq({'2', '2', '2', 'imaname', 'place',
'--cursor=10,20,30'}, '--cursor=10,20,30'},
mock_run.call_args[1]) mock_run.call_args[1])
end) end)
@ -241,16 +243,16 @@ end
function test.get_filename() function test.get_filename()
local opts = {name='a', split_strategy='none'} local opts = {name='a', split_strategy='none'}
expect.eq('blueprints/a.csv', b.get_filename(opts, 'dig', 1)) expect.eq('dfhack-config/blueprints/a.csv', b.get_filename(opts, 'dig', 1))
opts = {name='a/', split_strategy='none'} opts = {name='a/', split_strategy='none'}
expect.eq('blueprints/a/a.csv', b.get_filename(opts, 'dig', 1)) expect.eq('dfhack-config/blueprints/a/a.csv', b.get_filename(opts, 'dig', 1))
opts = {name='a', split_strategy='phase'} opts = {name='a', split_strategy='phase'}
expect.eq('blueprints/a-1-dig.csv', b.get_filename(opts, 'dig', 1)) expect.eq('dfhack-config/blueprints/a-1-dig.csv', b.get_filename(opts, 'dig', 1))
opts = {name='a/', split_strategy='phase'} opts = {name='a/', split_strategy='phase'}
expect.eq('blueprints/a/a-5-dig.csv', b.get_filename(opts, 'dig', 5)) expect.eq('dfhack-config/blueprints/a/a-5-dig.csv', b.get_filename(opts, 'dig', 5))
expect.error_match('could not parse basename', function() expect.error_match('could not parse basename', function()
b.get_filename({name='', split_strategy='none'}) b.get_filename({name='', split_strategy='none'})

@ -1,3 +1,5 @@
config.target = 'cxxrandom'
local rng = require('plugins.cxxrandom') local rng = require('plugins.cxxrandom')
function test.cxxrandom_distributions() function test.cxxrandom_distributions()

@ -1,4 +1,5 @@
config.mode = 'fortress' config.mode = 'fortress'
--config.target = 'orders'
local FILE_PATH_PATTERN = 'dfhack-config/orders/%s.json' local FILE_PATH_PATTERN = 'dfhack-config/orders/%s.json'

@ -1,3 +1,5 @@
config.target = 'workflow'
local workflow = require('plugins.workflow') local workflow = require('plugins.workflow')
function test.job_outputs() function test.job_outputs()

@ -26,6 +26,7 @@
-- crashing the game. -- crashing the game.
config.mode = 'fortress' config.mode = 'fortress'
config.target = {'quickfort', 'blueprint', 'dig-now', 'tiletypes', 'gui/quantum'}
local argparse = require('argparse') local argparse = require('argparse')
local gui = require('gui') local gui = require('gui')

@ -28,7 +28,7 @@ function test.viewscreenDtors()
for name, type in pairs(df) do for name, type in pairs(df) do
if name:startswith('viewscreen') then if name:startswith('viewscreen') then
print('testing', name) print('testing', name)
v = type:new() local v = type:new()
expect.true_(v:delete(), "destructor returned false: " .. name) expect.true_(v:delete(), "destructor returned false: " .. name)
end end
end end