BIND 10 #3243: The serial unit tests execution is not possible for automake 1.13 and later

BIND 10 Development do-not-reply at isc.org
Thu Nov 14 18:59:11 UTC 2013


#3243: The serial unit tests execution is not possible for automake 1.13 and later
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  UnAssigned
  marcin                             |                Status:  new
                       Type:         |             Milestone:  New Tasks
  enhancement                        |              Keywords:
                   Priority:         |             Sensitive:  0
  medium                             |           Sub-Project:  Core
                  Component:  build  |  Estimated Difficulty:  0
  system                             |           Total Hours:  0
               CVSS Scoring:         |
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 Starting from automake 1.13 the test suites are executed in the parallel
 mode. Along with this, the unit tests output is not logged to the console,
 but rather to file. This is very inconvenient for the following reasons:
 - I have to go to individual logs to see what went wrong if my unit tests
 fail. Note that we have a lot of test suites in bind10
 - I have no output from the tests execution if they all pass. I rather
 have a summary.

 Here is the sample output from the successfully executed test suite:
 {{{
 make[9]: Leaving directory
 `/home/b10builder/builder/work/BIND10/20131114133526-FedoraLinux-
 x86_64-GCC/build/src/lib/util/threads/tests'
 ============================================================================
 Testsuite summary for bind10 20130529
 ============================================================================
 # TOTAL: 1
 # PASS:  1
 # SKIP:  0
 # XFAIL: 0
 # FAIL:  0
 # XPASS: 0
 # ERROR: 0
 ============================================================================
 }}}

 It tells me nothing about the test cases being run. This may cause
 additional problems with diagnosing problems when unit tests are executed
 on the build farm - browsing multiple logs may be tricky on the build
 farm.

 It seems that the configure.ac has already got a hack for this:
 {{{
 # serial-tests is not available in automake version before 1.13. In
 # automake 1.13 and higher, AM_PROG_INSTALL is undefined, so we'll check
 # that and conditionally use serial-tests.
 AM_INIT_AUTOMAKE(
         [foreign]
         m4_ifndef([AM_PROG_INSTALL], [serial-tests])
 )
 }}}
 which relies on the presence or absence of the macro to check the current
 version of the automake. It seems that the absence of the macro doesn't
 give a reliable indication of the automake version. From what I have read,
 the macros have been moved back and forth between versions of automake.
 Also, I don't know the easy and portable way to check the version of the
 automake from the configure.ac.

 My suggestion is that we add an extra parameter to configure.ac (say
 --enable-serial-tests) to turn the serial test mode. The behaviour will be
 serial-mode for automake prior to 1.13 and parallel mode after 1.13.

-- 
Ticket URL: <http://bind10.isc.org/ticket/3243>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list