Now that the CI build is set up, it is worth reviewing the test results. The ‘make check’ step of the build runs the test suite and displays the results (from build 127 on my Jenkins server):
Summary:
PASS 12717
FAIL 10
XFAIL 14
SKIPPED 270
...
208 (of 875) .m files have no tests
Where PASS means the test ran successfully, FAIL means it failed, XFAIL means an expected failure (that is probably a known bug or error in the test) and SKIPPED means a test that is not applicable to the current configuration.
Drilling a bit more into these results, FAIL and SKIPPED are the interesting results.
Test name | Pass | Fail | Skipped |
libinterp/corefcn/graphics.cc-tst | 35 | 3 | 0 |
libinterp/dldfcn/audiodevinfo.cc-tst | 0 | 0 | 4 |
libinterp/dldfcn/convhulln.cc-tst | 0 | 0 | 4 |
libinterp/octave-value/ov-class.cc-tst | 48 | 0 | 2 |
libinterp/octave-value/ov-java.cc-tst | 0 | 0 | 2 |
libinterp/octave-value/ov-typeinfo.cc-tst | 56 | 0 | 1 |
scripts/audio/@audioplayer/audioplayer.m | 0 | 0 | 4 |
scripts/audio/@audiorecorder/audiorecorder.m | 0 | 0 | 4 |
scripts/audio/wavwrite.m | 4 | 0 | 7 |
scripts/deprecated/delaunay3.m | 0 | 0 | 1 |
scripts/general/fieldnames.m | 2 | 0 | 3 |
scripts/general/methods.m | 1 | 0 | 1 |
scripts/geometry/convhull.m | 0 | 0 | 1 |
scripts/geometry/delaunay.m | 9 | 0 | 6 |
scripts/geometry/delaunayn.m | 1 | 0 | 2 |
scripts/geometry/griddata.m | 13 | 0 | 1 |
scripts/geometry/griddata3.m | 0 | 0 | 2 |
scripts/geometry/griddatan.m | 0 | 0 | 2 |
scripts/geometry/voronoi.m | 6 | 0 | 2 |
scripts/gui/uimenu.m | 0 | 3 | 0 |
scripts/image/imfinfo.m | 0 | 0 | 1 |
scripts/image/imformats.m | 0 | 0 | 5 |
scripts/image/imread.m | 0 | 0 | 4 |
scripts/image/imwrite.m | 9 | 0 | 10 |
scripts/java/javachk.m | 5 | 0 | 1 |
scripts/java/usejava.m | 5 | 0 | 1 |
scripts/plot/util/allchild.m | 2 | 1 | 0 |
scripts/plot/util/copyobj.m | 1 | 0 | 1 |
scripts/plot/util/findall.m | 0 | 1 | 0 |
scripts/plot/util/graphics_toolkit.m | 0 | 2 | 0 |
scripts/plot/util/hgsave.m | 3 | 0 | 1 |
scripts/sparse/eigs.m | 5 | 0 | 149 |
scripts/sparse/svds.m | 1 | 0 | 5 |
scripts/testfun/test.m | 57 | 0 | 1 |
jit.tst | 0 | 0 | 42 |
From this there are two significant areas of functionality being skipped, eigs and jit. confgure gives these warnings: “WARNING: ARPACK library found, but does not seem to work properly — disabling eigs function” and “WARNING: Missing LLVM file TargetData.h. JIT compiler is disabled.”
Looking in the config.log file, I notice that configure is having trouble loading some relevant libraries during its testing, a number of these libraries are installed in /usr/local/lib, which isn’t on the library search path. Adding LD_LIBRARY_PATH=/usr/local/lib to the beginning of the configure line seems to improve things somewhat, but the build including that change is still in progress.
Further investigation of the LLVM failure shows that llvm/IR/Function.h requires support for ISO C++ 2011 standard in the compiler, which is not included in the gcc 4.8.2 I am using. This seems like a problem for another day.