guix-devel
[Top][All Lists]
Advanced

[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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]