view test/callback_suite/config-stress1.lua @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents f3d44195dbdf
children
line wrap: on
line source

-- section 'main' --------------------------------------------------------------
                  
mode      = "designed"    -- generator mode: 'random', 'ordered' or 'designed' type sequences
designfile= "stress1.txt" -- design file

function nlines()
  local cnt = 0
  for l in io.open(designfile):lines() do
    cnt = cnt + 1
  end
  return cnt
end

ncases    = nlines()    -- number of test cases

minargs   = 0           -- minimum num. of supported arguments (>= 0)
maxargs   = 20          -- maximum num. of supported arguments (>= minargs)

-- section 'types' (not used by 'designed') ------------------------------------

types     = "BcCsSiIjJlLpfd" -- "BcCsSiIjJlLpfd"    -- supported argument types
rtypes    = nil              -- supported return types (set to nil to use "v"..types)


-- section 'ordered' -----------------------------------------------------------

offset    = 0           -- permutation index offset (default = 1)
step      = 1           -- permutation index increment (default = 1)


-- section 'random' ------------------------------------------------------------
                        
seed      = 1           -- random seed


-- section 'calling convention' (useful on Windows for now) --------------------
                        
api       = ""          -- calling convention ("__stdcall" or "__fastcall")
                        -- for gcc use "__attribute__((__stdcall__))" or "__attribute__((__fastcall__))"
                        -- for ms ?
ccprefix  = ""          -- signature prefix ("_s" (stdcall), "_f" (gcc fastcall) or "_F" (microsoft fastcall))