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
+