Mercurial > pub > dyncall > dyncall
diff test/call_suite_aggrs/config.lua @ 485:0c68b3f91367
- renamed suite_aggrs to call_suite_aggrs for consistency (callback version will be called callback_suite_aggrs)
author | Tassilo Philipp |
---|---|
date | Thu, 17 Mar 2022 15:41:26 +0100 |
parents | test/suite_aggrs/config.lua@0f3b6898078d |
children | 29d09d10ecd9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/call_suite_aggrs/config.lua Thu Mar 17 15:41:26 2022 +0100 @@ -0,0 +1,44 @@ +-- user config for rand-sig.lua: +minargs = 0 +maxargs = 16 +minaggrfields= 0 -- 0 allows for empty structs/unions +maxaggrfields= 12 +maxarraylen = 16 -- see 1) +arraydice = 40 -- how often to turn a member into an array (1 out of arraydice-times) +maxaggrdepth = 3 -- max nesting depth of aggregates, 1 = no nesting +ncases = 400 +types = "csijlpfd{}<>" -- {...} for structs, <...> for unions +seed = 2112 + +-- specify types more than once to increase relative occurance, e.g.: + +-- this favors non-aggregate args, especially ints (and also increases avg num of aggregate fields): +--types = "ccssiiiiijjllpfd{}" + +-- this heavily favors nested structs, while not having any union: +--types = "csijlpfd{{{{{{}" + +-- this heavily favors flat and short/empty aggregates: +--types = "csijlpfd{}}}}}}<>>>>>" + + +-- 1) note some callconvs pass structs via regs, so using big numbers here will +-- reduce those cases; however special alignment rules are specified in some +-- ABIs for bigger arrays, which is also worth testing + + +-- user config for mk-cases.lua + +-- if true, aggregates are copied via = operator, otherwise field by field +aggrcpsimple = true + +-- if true, aggregate params are modified in called function, to test whether +-- they are passed "by value" (important for verifying by-value semantics for +-- callconvs where hidden pointers are used instead of real copies; aggregate +-- passing implementations must use of temporary copies in those cases) +aggrmutabletest = true + +-- force aggregate packing, 0=off, pos values set fixed packing, neg values +-- set a random power-of-2 packing per aggregate, within [1,abs(aggrpacking)] +aggrpacking = 0 +