[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: boost: Enable tests.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH] gnu: boost: Enable tests. |
Date: |
Wed, 20 Jan 2016 23:34:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Bavier <address@hidden> 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).
>
> Building and running the tests obviously adds to the overall build
> time, but I think most of us here are in agreement that running tests
> is better than not.
Definitely! Especially for a widely-used library.
> 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.
> From 76322bff6b4de1c0fe810506f451de733c60683a Mon Sep 17 00:00:00 2001
> From: Eric Bavier <address@hidden>
> 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.
> + (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.
> + (reverse! dirs)))
‘reverse’ is enough. :-)
Otherwise LGTM.
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?
Thanks!
Ludo’.