[pkg-go] Bug#796806: Bug#796806: Bug#796806: golang-check.v1: Non-determistically FTBFS due to unreliable timing in tests

Michael Hudson-Doyle michael.hudson at canonical.com
Tue Aug 25 21:03:09 UTC 2015


I also encountered this and filed an upstream bug fwiw:
https://github.com/go-check/check/issues/53

I've only ever seen this on a builder, never locally.

On 26 August 2015 at 08:52, Michael Stapelberg <stapelberg at debian.org> wrote:
> Bug #796400 was similar.
>
> lamby, can you explain how I can reproduce this failure locally? I’d
> like to better understand how you are testing this before I can do
> anything about fixing the issue.
>
> On Mon, Aug 24, 2015 at 9:45 AM, Chris Lamb <lamby at debian.org> wrote:
>> Source: golang-check.v1
>> Version: 0.0+git20150729.11d3bc7-1
>> Severity: serious
>> Justification: fails to build from source
>> User: reproducible-builds at lists.alioth.debian.org
>> Usertags: ftbfs
>> X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
>>
>> Dear Maintainer,
>>
>> golang-check.v1's testsuite appears to use method timing/benchmarking in
>> such
>> a way that it will non-deterministically FTBFS:
>>
>>   [..]
>>
>>      dh_auto_test -O--buildsystem=golang
>>         go test -v gopkg.in/check.v1
>>   === RUN Test
>>
>>   ----------------------------------------------------------------------
>>   FAIL: benchmark_test.go:39: BenchmarkS.TestBenchmark
>>
>>   benchmark_test.go:59:
>>       c.Assert(output.value, Matches, expected)
>>   ... value string = "PASS: check_test.go:144:
>>   FixtureHelper.Benchmark1\t      50\t    261765 ns/op\n"
>>   ... regex string = "PASS: check_test\\.go:[0-9]+:
>>   FixtureHelper\\.Benchmark1\t *100\t *[12][0-9]{5} ns/op\n"
>>
>>
>>   ----------------------------------------------------------------------
>>   FAIL: benchmark_test.go:62: BenchmarkS.TestBenchmarkBytes
>>
>>   benchmark_test.go:74:
>>       c.Assert(output.value, Matches, expected)
>>   ... value string = "PASS: check_test.go:151:
>>   FixtureHelper.Benchmark2\t      50\t    346352 ns/op\t   2.96 MB/s\n"
>>   ... regex string = "PASS: check_test\\.go:[0-9]+:
>>   FixtureHelper\\.Benchmark2\t *100\t *[12][0-9]{5} ns/op\t
>>   *[4-9]\\.[0-9]{2} MB/s\n"
>>
>>   OOPS: 125 passed, 2 FAILED
>>   --- FAIL: Test (0.46s)
>>   FAIL
>>   exit status 1
>>   FAIL    gopkg.in/check.v1       0.469s
>>   dh_auto_test: go test -v gopkg.in/check.v1 returned exit code 1
>>   debian/rules:7: recipe for target 'build' failed
>>   make: *** [build] Error 1
>>   dpkg-buildpackage: error: debian/rules build gave error exit status 2
>>
>>   [..]
>>
>> The full build log is attached or can be viewed here:
>>
>>     https://reproducible.debian.net/logs/unstable/amd64/golang-check.v1_0.0+git20150729.11d3bc7-1.build1.log.gz
>>
>>
>> Regards,
>>
>> --
>>       ,''`.
>>      : :'  :     Chris Lamb
>>      `. `'`      lamby at debian.org / chris-lamb.co.uk
>>        `-
>>
>> _______________________________________________
>> Pkg-go-maintainers mailing list
>> Pkg-go-maintainers at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers
>
>
>
> --
> Best regards,
> Michael
>
> On Mon, Aug 24, 2015 at 6:45 PM, Chris Lamb <lamby at debian.org> wrote:
>> Source: golang-check.v1
>> Version: 0.0+git20150729.11d3bc7-1
>> Severity: serious
>> Justification: fails to build from source
>> User: reproducible-builds at lists.alioth.debian.org
>> Usertags: ftbfs
>> X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
>>
>> Dear Maintainer,
>>
>> golang-check.v1's testsuite appears to use method timing/benchmarking in
>> such
>> a way that it will non-deterministically FTBFS:
>>
>>   [..]
>>
>>      dh_auto_test -O--buildsystem=golang
>>         go test -v gopkg.in/check.v1
>>   === RUN Test
>>
>>   ----------------------------------------------------------------------
>>   FAIL: benchmark_test.go:39: BenchmarkS.TestBenchmark
>>
>>   benchmark_test.go:59:
>>       c.Assert(output.value, Matches, expected)
>>   ... value string = "PASS: check_test.go:144:
>>   FixtureHelper.Benchmark1\t      50\t    261765 ns/op\n"
>>   ... regex string = "PASS: check_test\\.go:[0-9]+:
>>   FixtureHelper\\.Benchmark1\t *100\t *[12][0-9]{5} ns/op\n"
>>
>>
>>   ----------------------------------------------------------------------
>>   FAIL: benchmark_test.go:62: BenchmarkS.TestBenchmarkBytes
>>
>>   benchmark_test.go:74:
>>       c.Assert(output.value, Matches, expected)
>>   ... value string = "PASS: check_test.go:151:
>>   FixtureHelper.Benchmark2\t      50\t    346352 ns/op\t   2.96 MB/s\n"
>>   ... regex string = "PASS: check_test\\.go:[0-9]+:
>>   FixtureHelper\\.Benchmark2\t *100\t *[12][0-9]{5} ns/op\t
>>   *[4-9]\\.[0-9]{2} MB/s\n"
>>
>>   OOPS: 125 passed, 2 FAILED
>>   --- FAIL: Test (0.46s)
>>   FAIL
>>   exit status 1
>>   FAIL    gopkg.in/check.v1       0.469s
>>   dh_auto_test: go test -v gopkg.in/check.v1 returned exit code 1
>>   debian/rules:7: recipe for target 'build' failed
>>   make: *** [build] Error 1
>>   dpkg-buildpackage: error: debian/rules build gave error exit status 2
>>
>>   [..]
>>
>> The full build log is attached or can be viewed here:
>>
>>     https://reproducible.debian.net/logs/unstable/amd64/golang-check.v1_0.0+git20150729.11d3bc7-1.build1.log.gz
>>
>>
>> Regards,
>>
>> --
>>       ,''`.
>>      : :'  :     Chris Lamb
>>      `. `'`      lamby at debian.org / chris-lamb.co.uk
>>        `-
>>
>> _______________________________________________
>> Pkg-go-maintainers mailing list
>> Pkg-go-maintainers at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers
>
>
>
> --
> Best regards,
> Michael
>
> _______________________________________________
> Pkg-go-maintainers mailing list
> Pkg-go-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers



More information about the Pkg-go-maintainers mailing list