[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