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

Michael Stapelberg stapelberg at debian.org
Tue Aug 25 20:52:12 UTC 2015


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



More information about the Pkg-go-maintainers mailing list