reinh-bader / fgsl

Fortran interface to the GNU Scientific Library
https://doku.lrz.de/display/PUBLIC/FGSL+-+A+Fortran+interface+to+the+GNU+Scientific+Library
GNU General Public License v2.0
84 stars 23 forks source link

OSX build 1 failure:: gsl: gamma.c:1264 #5

Closed gaming-hacker closed 8 years ago

gaming-hacker commented 8 years ago

i linked this against gfortran-5.3, gfortran-6-latest and gfortran-6-dev with gsl 1.16 all report following

  1 =============================================
  2    fgsl 1.0.0: doc/examples/test-suite.log
  3 =============================================
  4 
  5 # TOTAL: 45
  6 # PASS:  44
  7 # SKIP:  0
  8 # XFAIL: 1
  9 # FAIL:  0
 10 # XPASS: 0
 11 # ERROR: 0
 12 
 13 .. contents:: :depth: 2
 14 
 15 XFAIL: error_1
 16 ==============
 17 
 18 gsl: gamma.c:1264: ERROR: domain error
 19 Default GSL error handler invoked.
 20 
 21 Program received signal SIGABRT: Process abort signal.
 22 
 23 Backtrace for this error:
 24 #0  0x10ce17354
 25 #1  0x10ce16b44
 26 #2  0x7fff8d591ea9
 27 XFAIL error_1 (exit status: 134)
tschoonj commented 8 years ago

I admit it looks scary but it is actually completely normal and expected :smile:

The error_1.f90 example is designed to fail to test the error handling API. This is accomplished here by passing a negative value to fgsl_sf_gamma. This triggers the (default) error handler within GSL (not FGSL), which contains an abort() call resulting in the output you're seeing: the SIGABRT signal is quite revealing here.

The Makefile.am in that directory contains the info needed to run these tests. You will see at the end of the file the following line:

XFAIL_TESTS = error_1

which marks error_1 as a test that is expected to fail. In fact, if for some reason that test would succeed then this would be reported as a failure.

Hope this clears things up a bit!

gaming-hacker commented 8 years ago

ok thanks!