[pkg-go] Bug#865800: golang-github-smartystreets-go-aws-auth FTBFS: test failure
Adrian Bunk
bunk at debian.org
Sat Jun 24 21:34:39 UTC 2017
Source: golang-github-smartystreets-go-aws-auth
Version: 0.0~git20160722.0.2043e6d-1
Severity: serious
Tags: buster sid
Some recent change in unstable makes golang-github-smartystreets-go-aws-auth FTBFS:
https://tests.reproducible-builds.org/debian/history/golang-github-smartystreets-go-aws-auth.html
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/golang-github-smartystreets-go-aws-auth.html
...
dh_auto_test -O--buildsystem=golang
go test -v -p 16 github.com/smartystreets/go-aws-auth
=== RUN TestIntegration
Given real credentials from environment variables
A request (with out-of-order query string) with to IAM should succeed (assuming Administrator Access policy) ⚠
A request to S3 should succeed ⚠
A request to EC2 should succeed ⚠
A request to SQS should succeed ⚠
A request to SES should succeed ⚠
A request to Route 53 should succeed ⚠
A request to SimpleDB should succeed ⚠
If S3Resource env variable is set
A URL-signed request to that S3 resource should succeed ⚠
0 total assertions (one or more sections skipped)
--- PASS: TestIntegration (0.01s)
=== RUN TestSign
Requests to services using Version 2 should be signed accordingly ✔✔
2 total assertions (one or more sections skipped)
Requests to services using Version 3 should be signed accordingly ✔✔
4 total assertions (one or more sections skipped)
Requests to services using Version 4 should be signed accordingly ✔✔✔
7 total assertions (one or more sections skipped)
Requests to services using existing credentials Version 2 should be signed accordingly ✔✔
9 total assertions (one or more sections skipped)
Requests to services using existing credentials Version 3 should be signed accordingly ✔✔
11 total assertions (one or more sections skipped)
Requests to services using existing credentials Version 4 should be signed accordingly ✔✔✔
14 total assertions (one or more sections skipped)
--- PASS: TestSign (0.00s)
=== RUN TestExpiration
Credentials without an expiration can't expire ✔
15 total assertions (one or more sections skipped)
Credentials that expire in 5 minutes aren't expired ✔
16 total assertions (one or more sections skipped)
Credentials that expire in 1 minute are expired ✔
17 total assertions (one or more sections skipped)
Credentials that expired 2 hours ago are expired ✔
18 total assertions (one or more sections skipped)
--- PASS: TestExpiration (0.00s)
=== RUN TestCommonFunctions
Service and region should be properly extracted from host strings ✔✔✔✔✔✔✔✔✔✔✔✔✔✔
32 total assertions (one or more sections skipped)
MD5 hashes should be properly computed and base-64 encoded ✔
33 total assertions (one or more sections skipped)
SHA-256 hashes should be properly hex-encoded (base 16) ✔
34 total assertions (one or more sections skipped)
Given a key and contents
HMAC-SHA256 should be properly computed ✔
HMAC-SHA1 should be properly computed ✔
36 total assertions (one or more sections skipped)
Strings should be properly concatenated with a delimiter ✔✔✔
39 total assertions (one or more sections skipped)
URI components should be properly encoded ✔✔✔
42 total assertions (one or more sections skipped)
URI query strings should be properly encoded ✔
43 total assertions (one or more sections skipped)
--- PASS: TestCommonFunctions (0.00s)
=== RUN TestSignatureS3
Given a GET request to Amazon S3
The request should be prepared with a Date header ✔
The CanonicalizedAmzHeaders should be built properly ✔
The CanonicalizedResource should be built properly ✔
The string to sign should be correct ✔
The final signature string should be exactly correct ✔
48 total assertions (one or more sections skipped)
Given a GET request for a resource on S3 for query string authentication
The string to sign should be correct ✔
The signature of string to sign should be correct ✔
The finished signed URL should be correct ✔
51 total assertions (one or more sections skipped)
--- PASS: TestSignatureS3 (0.00s)
=== RUN TestS3STSRequestPreparer
Given a plain request with no custom headers
And a set of credentials with an STS token
It should include an X-Amz-Security-Token when the request is signed ✔✔
53 total assertions (one or more sections skipped)
--- PASS: TestS3STSRequestPreparer (0.00s)
=== RUN TestCanonical
--- PASS: TestCanonical (0.00s)
=== RUN TestSignature2
Given bogus credentials
Given a plain request that is unprepared
The request should be prepared to be signed ✔
Given a prepared, but unsigned, request
The canonical query string should be correct ✔
The absolute path should be extracted correctly ✔
The string to sign should be well-formed ✔
The resulting signature should be correct ✔
The final signed request should be correctly formed ✔
59 total assertions (one or more sections skipped)
--- PASS: TestSignature2 (0.00s)
=== RUN TestVersion2STSRequestPreparer
Given a plain request
And a set of credentials with an STS token
It should include the SecurityToken parameter when the request is signed ✔✔
61 total assertions (one or more sections skipped)
--- PASS: TestVersion2STSRequestPreparer (0.00s)
=== RUN TestSignature3
Given bogus credentials
Given a plain request that is unprepared
The request should be prepared to be signed ✔
Given a prepared, but unsigned, request
The absolute path should be extracted correctly ✔
The string to sign should be well-formed ✔
The resulting signature should be correct ✔
The final signed request should be correctly formed ✔
66 total assertions (one or more sections skipped)
--- PASS: TestSignature3 (0.00s)
=== RUN TestVersion3STSRequestPreparer
Given a plain request with no custom headers
And a set of credentials with an STS token
It should include an X-Amz-Security-Token when the request is signed ✔✔
68 total assertions (one or more sections skipped)
--- PASS: TestVersion3STSRequestPreparer (0.00s)
=== RUN TestVersion4RequestPreparer
Given a plain request with no custom headers
The necessary, default headers should be appended ✘
Forward-slash should be appended to URI if not present ✔
And a set of credentials
It should be signed with an Authorization header ✔✔✔✔✔
Failures:
* /build/1st/golang-github-smartystreets-go-aws-auth-0.0~git20160722.0.2043e6d/obj-x86_64-linux-gnu/src/github.com/smartystreets/go-aws-auth/sign4_test.go
Line 21:
Expected: '(*http.Request){Method:"POST", URL:(*url.URL){Scheme:"http", Opaque:"", User:(*url.Userinfo)(nil), Host:"iam.amazonaws.com", Path:"/", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:""}, Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded; charset=utf-8"}, "X-Amz-Date":[]string{"20080814T170848Z"}}, Body:ioutil.nopCloser{Reader:(*strings.Reader){s:"Action=ListUsers&Version=2010-05-08", i:0, prevRune:-1}}, GetBody:(func() (io.ReadCloser, error))(0x0000000000634960), ContentLength:35, TransferEncoding:[]string(nil), Close:false, Host:"iam.amazonaws.com", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(0x0000000000000000), Response:(*http.Response)(nil), ctx:context.Context(nil)}'
Actual: '(*http.Request){Method:"POST", URL:(*url.URL){Scheme:"http", Opaque:"", User:(*url.Userinfo)(nil), Host:"iam.amazonaws.com", Path:"/", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:""}, Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded; charset=utf-8"}, "X-Amz-Date":[]string{"20080814T170848Z"}}, Body:ioutil.nopCloser{Reader:(*strings.Reader){s:"Action=ListUsers&Version=2010-05-08", i:0, prevRune:-1}}, GetBody:(func() (io.ReadCloser, error))(0x0000000000634960), ContentLength:35, TransferEncoding:[]string(nil), Close:false, Host:"iam.amazonaws.com", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(0x0000000000000000), Response:(*http.Response)(nil), ctx:context.Context(nil)}'
(Should resemble)!
75 total assertions (one or more sections skipped)
Given a request with custom, necessary headers
The custom, necessary headers must not be changed ✘
Failures:
* /build/1st/golang-github-smartystreets-go-aws-auth-0.0~git20160722.0.2043e6d/obj-x86_64-linux-gnu/src/github.com/smartystreets/go-aws-auth/sign4_test.go
Line 50:
Expected: '(*http.Request){Method:"POST", URL:(*url.URL){Scheme:"http", Opaque:"", User:(*url.Userinfo)(nil), Host:"iam.amazonaws.com", Path:"/", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:""}, Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded; charset=utf-8"}, "X-Amz-Date":[]string{"20110909T233600Z"}}, Body:ioutil.nopCloser{Reader:(*strings.Reader){s:"Action=ListUsers&Version=2010-05-08", i:0, prevRune:-1}}, GetBody:(func() (io.ReadCloser, error))(0x0000000000634960), ContentLength:35, TransferEncoding:[]string(nil), Close:false, Host:"iam.amazonaws.com", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(0x0000000000000000), Response:(*http.Response)(nil), ctx:context.Context(nil)}'
Actual: '(*http.Request){Method:"POST", URL:(*url.URL){Scheme:"http", Opaque:"", User:(*url.Userinfo)(nil), Host:"iam.amazonaws.com", Path:"/", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:""}, Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:http.Header{"Content-Type":[]string{"application/x-www-form-urlencoded; charset=utf-8"}, "X-Amz-Date":[]string{"20110909T233600Z"}}, Body:ioutil.nopCloser{Reader:(*strings.Reader){s:"Action=ListUsers&Version=2010-05-08", i:0, prevRune:-1}}, GetBody:(func() (io.ReadCloser, error))(0x0000000000634960), ContentLength:35, TransferEncoding:[]string(nil), Close:false, Host:"iam.amazonaws.com", Form:url.Values(nil), PostForm:url.Values(nil), MultipartForm:(*multipart.Form)(nil), Trailer:http.Header(nil), RemoteAddr:"", RequestURI:"", TLS:(*tls.ConnectionState)(nil), Cancel:(<-chan struct {})(0x0000000000000000), Response:(*http.Response)(nil), ctx:context.Context(nil)}'
(Should resemble)!
76 total assertions (one or more sections skipped)
--- FAIL: TestVersion4RequestPreparer (0.01s)
=== RUN TestVersion4STSRequestPreparer
Given a plain request with no custom headers
And a set of credentials with an STS token
It should include an X-Amz-Security-Token when the request is signed ✔✔
78 total assertions (one or more sections skipped)
--- PASS: TestVersion4STSRequestPreparer (0.00s)
=== RUN TestVersion4SigningTasks
Given a bogus request and credentials from AWS documentation with an additional meta tag
(Task 1) The canonical request should be built correctly ✔
(Task 2) The string to sign should be built correctly ✔
(Task 3) The version 4 signed signature should be correct ✔
81 total assertions (one or more sections skipped)
--- PASS: TestVersion4SigningTasks (0.00s)
=== RUN TestSignature4Helpers
The signing key should be properly generated ✔
82 total assertions (one or more sections skipped)
Authorization headers should be built properly ✔
83 total assertions (one or more sections skipped)
Timestamps should be in the correct format, in UTC time ✔✔✔✔✔✔
89 total assertions (one or more sections skipped)
Given an Version 4 AWS-formatted timestamp
The date string should be extracted properly ✔
90 total assertions (one or more sections skipped)
Given any request with a body
Its body should be read and replaced without differences ✔✔
92 total assertions (one or more sections skipped)
--- PASS: TestSignature4Helpers (0.00s)
FAIL
exit status 1
FAIL github.com/smartystreets/go-aws-auth 0.048s
dh_auto_test: go test -v -p 16 github.com/smartystreets/go-aws-auth returned exit code 1
debian/rules:4: recipe for target 'build' failed
make: *** [build] Error 1
More information about the Pkg-go-maintainers
mailing list