[Pkg-gauche-devel] some make check failures in the buildd logs
Jens Thiele
karme at karme.de
Mon Feb 7 07:46:49 UTC 2011
NIIBE Yutaka <gniibe at fsij.org> writes:
> 2011-02-05 18:50, Jens Thiele wrote:
>> too late for squeeze, but didn't notice this until now:
>
> Thanks. I should have been more careful...
>
>> amd64:
>> https://buildd.debian.org/fetch.cgi?pkg=gauche;ver=0.9-17;arch=amd64;stamp=1296811617
>> [...]
>> GAUCHE_TEST_RECORD_FILE=../../test.record ../../src/gosh -ftest -I. test.scm > test.log
>> Testing net ... failed.
>> discrepancies found. Errors are:
>> test inet client socket: expects #t => got #f
>> [...]
>>
>> (afair this might be due to /etc/services missing / netbase dependency?)
>
> No. We have netbase build time dependency in debian/control.
> I think that this is IPv6 failure.
will you look into this?
(i noted that you disabled that test, for now.)
>> armel:
>> https://buildd.debian.org/fetch.cgi?pkg=gauche;ver=0.9-17;arch=armel;stamp=1296813246
>> /bin/bash: line 4: 22137 Segmentation fault ${dir}$tst
> [...]
>> mipsel:
>> https://buildd.debian.org/fetch.cgi?pkg=gauche;ver=0.9-17;arch=mipsel;stamp=1296812775
>> /bin/bash: line 4: 2953 Segmentation fault ${dir}$tst
>
> Ouch. I will fix those failure.
thanks
>> imho build should fail if any test fails. what do you think?
>
> For Debian build, I had assumed so.
>
> This is because the Makefile of gauche is written like:
>
> ------------------
> check: all
> @rm -f $(TESTRECORD)
> for d in $(SUBDIRS); do (cd $$d; $(MAKE) check); done
> @cat $(TESTRECORD)
> ------------------
>
> This ignore result of $(MAKE). If we want to stop immediately, it
> should be something like:
>
> for d in $(SUBDIRS); do (cd $$d && $(MAKE) check || exit 1); done
This is not good enough (it only exits the subshell)
$ dash -c 'for i in $(seq 1 10); do (echo $i ; exit 1 ; ); done'
1
2
3
4
5
6
7
8
9
10
options (note: did not really check posix conformance)
use break:
$ dash -c 'for i in $(seq 1 10); do (echo $i ; exit 1 ; ) || break; done'
1
don't use subshell:
$ dash -c 'for i in $(seq 1 10); do { echo $i ; exit 1 ; } ; done'
1
use set -e:
(maybe not really an option [0])
$ dash -c 'set -e; for i in $(seq 1 10); do echo $i; false; done'
1
jens
[0] http://www.in-ulm.de/~mascheck/various/set-e/
More information about the Pkg-gauche-devel
mailing list