GMP testing shortcomings

Torbjorn Granlund tg at gmplib.org
Thu May 23 16:10:22 CEST 2013


The ia64 mpn_divrem_2 bug reported today (and fixed yesterday...)
highlights some shortcomings of GMP testing.

For x86, x86_64 and (since GMP 5.1.2) arm32 we have calling conventions
checking code via tests/*call.asm and tests/*check.c. but this is then
invoked from tests/devel/try.

Flaws:

1. tests/devel/try is not run automatically, only by developers.
2. tests/devel/try lacks some functions, e.g. mpn_divrem_2.
3. calling conventions checking code has not been implemented for most
   CPUs.

Running the try program automatically is easier said than done.  It
takes hours to run over all functions with default arguments.

It might make sense to write a special testing program for just checking
for this type of errors, using the calling conventions checking
mechanism, executing the tested functions for all sizes less than some
threshold, but not attempting to test internal function semantics very
thoroughly.

-- 
Torbjörn


More information about the gmp-devel mailing list