On 2016-01-20 16:34, l...@gnu.org wrote:
Eric Bavier <ericbav...@openmailbox.org> skribis:
This patch turns boost package tests on. 22 of 120 test suites are
skipped due to know test failures, many of which still fail with the
upstream development version
(http://www.boost.org/development/tests/master/developer/summary.html).
[...]
It would be nice to get this patch tested on MIPS or ARM, in case
there are other failing test suites that should be documented and
skipped on those systems.
Yeah.
I think we’ll have to create a branch anyway, so when we do, we can
wait
and see what Hydra reports.
Andreas was kind enough to test the patch on ARM, and it seems there's
at
least one additional test-suite to skip on that architecture. A branch
would be nice.
From 76322bff6b4de1c0fe810506f451de733c60683a Mon Sep 17 00:00:00 2001
From: Eric Bavier <bav...@member.fsf.org>
Date: Fri, 15 Jan 2016 14:46:26 -0600
Subject: [PATCH] gnu: boost: Enable tests.
* gnu/packages/boost.scm (boost)[arguments]: Replace 'check' phase.
[...]
+ ;; The provided method for running all tests (executing
b2 in the
+ ;; "status" directory) requires a large amount of disk
space
+ ;; (>20G) because it does not clean up build artifacts
after
+ ;; successfully running a test suite. So instead we run
each test
+ ;; individually, which only requires ~7.7G.
This is still a lot of disk space. Can you make sure that everything
is
built with -g0? It makes a significant difference for C++ code. I did
that notably for GCC and Inkscape.
I'll give that a try and see if it changes things. Thanks for the
pointer.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((b2 (string-append (getcwd) "/b2"))
+ (test-dirs
+ ;; The instructions at
+ ;;
http://www.boost.org/development/running_regression_tests.html
+ ;; to run b2 in each libs/<library>/test is not
entirely
+ ;; accurate. Some tests are in subdirectories
and others
+ ;; in top-level directories. So instead we read
the list
+ ;; of test directories from status/Jamfile.v2
+ (let ((port (open-input-file
"status/Jamfile.v2"))
+ (start-rx (make-regexp "^run-tests libs
:"))
+ (end-rx (make-regexp "^[[:space:]]*;"))
+ (dir-rx (make-regexp
"^[[:space:]]*([a-z0-9/_]+)")))
I think it would be nicer to make it a procedure and move it to a
‘define’ at the top of the lambda.
Will do.
+ (reverse! dirs)))
‘reverse’ is enough. :-)
OK.
Otherwise LGTM.
Great
I think we should wait until ‘core-updates’ is merged, and then you can
push an updated patch to, say, ‘wip-boost-tests’ based on ‘master’.
WDYT?
That's fine with me.
Thanks for the review!
--
`~Eric