leto / math--gsl

Perl interface to the GNU Scientific Library
http://leto.net/code/Math-GSL
33 stars 25 forks source link

GSL 2.7: t/Rstat.t : Failed test 'The median is 16.5' #233

Closed hakonhagland closed 3 years ago

hakonhagland commented 3 years ago

After applying the fix in #232, I get the following error from ./Build test:

$  LD_LIBRARY_PATH=/opt/gsl/gsl-2.7/lib ./Build test
Building wrappers for GSL 1.15
Building wrappers for GSL 1.16
Building wrappers for GSL 2.0
Building wrappers for GSL 2.1
Building wrappers for GSL 2.2
Building wrappers for GSL 2.2.1
Building wrappers for GSL 2.3
Building wrappers for GSL 2.4
Building wrappers for GSL 2.5
Building wrappers for GSL 2.6
Building wrappers for GSL 2.7
Processing 2.7 XS files, GSL 2.7 (via gsl-config) at /opt/gsl/gsl-2.7
Compiler        = cc (Ubuntu 10.3.0-1ubuntu1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ccflags         = -fPIC -I/opt/gsl/gsl-2.7/include -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wno-sometimes-uninitialized -Wno-unused-function -Wno-unused-value -Wno-unused-function -Wno-unused-variable -Wno-gnu -g -fPIC -fno-omit-frame-pointer -I/opt/gsl/gsl-2.7/include
ldflags         = -shared -L/opt/gsl/gsl-2.7/lib -lgsl -lgslcblas -lm -fPIC -fno-omit-frame-pointer
swig_flags      = -I/opt/gsl/gsl-2.7/include  -w451,454
swig_version    = 4.0.2
PERL5LIB        = 
LD_LIBRARY_PATH = /opt/gsl/gsl-2.7/lib
t/00-load.t ........ 31/? # Testing Math::GSL 0.42 with GSL 2.7 on x86_64-linux, Perl (/home/hakon/perlbrew/perls/perl-5.32.0/bin/perl) 5.032000
t/00-load.t ........ ok    
t/BLAS.t ........... ok       
t/BSpline.t ........ ok   
t/CBLAS.t .......... ok   
t/CDF.t ............ ok       
t/Chebyshev.t ...... ok     
t/Combination.t .... ok     
t/Complex.t ........ ok    
t/Const.t .......... ok   
t/DHT.t ............ ok   
t/Deriv.t .......... ok     
t/Diff.t ........... ok   
t/Eigen.t .......... ok     
t/Errno.t .......... ok    
t/FFT.t ............ ok    
t/Fit.t ............ ok     
t/GSL.t ............ 1/? # 
#   Elements start differing at index 2, delta = 9.99999998363421e-08
#       $x->[2] = 3.0010001
#       $y->[2] = 3.0010002
# 
#   Elements start differing at index 2, delta = 0.00099999999999989
#       $x->[2] = 3
#       $y->[2] = 3.001
t/GSL.t ............ ok    
t/Heapsort.t ....... ok   
t/Histogram.t ...... ok     
t/Histogram2D.t .... ok     
t/IEEEUtils.t ...... ok   
t/Integration.t .... ok     
t/Interp.t ......... ok     
t/Linalg.t ......... ok    
t/Machine.t ........ ok   
t/Matrix.t ......... 1/? # 
#   Elements start differing at index 1, delta = 1
#       $x->[1] = 3
#       $y->[1] = 2
t/Matrix.t ......... ok     
t/MatrixComplex.t .. 1/38 # 
#   Elements start differing at index 1, delta = 1
#       $x->[1] = 3
#       $y->[1] = 4
# 
#   Elements start differing at index 1, delta = 1
#       $x->[1] = 3
#       $y->[1] = 2
t/MatrixComplex.t .. ok     
t/Min.t ............ ok    
t/Monte.t .......... ok     
t/Multifit.t ....... ok     
t/Multilarge.t ..... ok   
t/Multimin.t ....... ok   
t/Multiroots.t ..... ok     
t/Multiset.t ....... ok     
t/NTuple.t ......... 1/11 This is the end at t/NTuple.t line 14.
t/NTuple.t ......... ok     
t/ODEIV.t .......... ok   
t/ODEIV_evolve.t ... ok    
t/Permutation.t .... ok     
t/Poly.t ........... ok   
t/PowInt.t ......... ok     
t/QRNG.t ........... ok     
t/RNG.t ............ ok     
t/Randist.t ........ ok       
t/Roots.t .......... ok     
t/Rstat.t .......... 1/? 
#   Failed test 'The median is 16.5'
#   at t/Rstat.t line 85.
#   (in Math::GSL::Rstat::Test->GSL_RSTAT)

#   Failed test 'gsl_rstat_quantile_get=17.2'
#   at t/Rstat.t line 45.
#   (in Math::GSL::Rstat::Test->GSL_RSTAT_QUANTILE)
# Looks like you failed 2 tests of 27.
t/Rstat.t .......... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/27 subtests 
t/SF.t ............. 1/? # GSL version=2.7
t/SF.t ............. ok      
t/Siman.t .......... ok   
t/Sort.t ........... ok     
t/SparseMatrix.t ... ok    
t/Spline.t ......... ok     
t/Statistics.t ..... ok     
t/Sum.t ............ ok     
t/Sys.t ............ ok     
t/Vector.t ......... 1/143 # 
#   Elements start differing at index 0, delta = 9
#       $x->[0] = 1
#       $y->[0] = 10
# 
#   Elements start differing at index 0, delta = 9
#       $x->[0] = 1
#       $y->[0] = 10
t/Vector.t ......... ok       
t/VectorComplex.t .. ok     
t/Wavelet.t ........ ok     
t/Wavelet2D.t ...... ok   
t/ver2func.t ....... # Testing Math::GSL with GSL 1.16.1 on x86_64-linux, Perl (/home/hakon/perlbrew/perls/perl-5.32.0/bin/perl) 5.032000
t/ver2func.t ....... ok   

Test Summary Report
-------------------
t/Rstat.t        (Wstat: 512 Tests: 27 Failed: 2)
  Failed tests:  14, 27
  Non-zero exit status: 2
Files=58, Tests=4193,  6 wallclock secs ( 0.34 usr  0.06 sys +  4.47 cusr  0.59 csys =  5.46 CPU)
Result: FAIL
Failed 1/58 test programs. 2/4193 subtests failed.
hakonhagland commented 3 years ago

Failed test 'The median is 16.5'

This seems to be caused by a change in rquantile.c line 184

 if (w->n > 5)

In GSL 2.6 the line was like this:

if (w->n >= 5)

notice the equal sign.