diff -Nru golang-github-juju-testing-1.0.2/debian/changelog golang-github-juju-testing-1.0.3/debian/changelog --- golang-github-juju-testing-1.0.2/debian/changelog 2022-08-11 22:09:33.000000000 +0000 +++ golang-github-juju-testing-1.0.3/debian/changelog 2022-12-03 15:23:17.000000000 +0000 @@ -1,3 +1,10 @@ +golang-github-juju-testing (1.0.3-1) unstable; urgency=medium + + * New upstream release + * Update my email address + + -- Mathias Gibbens Sat, 03 Dec 2022 15:23:17 +0000 + golang-github-juju-testing (1.0.2-1) unstable; urgency=medium * New upstream release diff -Nru golang-github-juju-testing-1.0.2/debian/control golang-github-juju-testing-1.0.3/debian/control --- golang-github-juju-testing-1.0.2/debian/control 2022-08-11 22:06:31.000000000 +0000 +++ golang-github-juju-testing-1.0.3/debian/control 2022-12-03 15:23:17.000000000 +0000 @@ -1,6 +1,6 @@ Source: golang-github-juju-testing Maintainer: Debian Go Packaging Team -Uploaders: Mathias Gibbens +Uploaders: Mathias Gibbens Section: golang Testsuite: autopkgtest-pkg-go Priority: optional diff -Nru golang-github-juju-testing-1.0.2/go.mod golang-github-juju-testing-1.0.3/go.mod --- golang-github-juju-testing-1.0.2/go.mod 2022-08-09 04:25:29.000000000 +0000 +++ golang-github-juju-testing-1.0.3/go.mod 2022-11-28 17:11:24.000000000 +0000 @@ -1,19 +1,20 @@ module github.com/juju/testing -go 1.17 +go 1.19 require ( - github.com/juju/errors v0.0.0-20220203013757-bd733f3c86b9 - github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4 + github.com/juju/errors v1.0.0 + github.com/juju/loggo v1.0.0 github.com/juju/utils/v3 v3.0.0 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c gopkg.in/yaml.v2 v2.4.0 ) require ( - github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a // indirect - github.com/kr/pretty v0.2.1 // indirect + github.com/juju/clock v1.0.2 // indirect + github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect - golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect - golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect + golang.org/x/crypto v0.3.0 // indirect + golang.org/x/net v0.2.0 // indirect ) diff -Nru golang-github-juju-testing-1.0.2/go.sum golang-github-juju-testing-1.0.3/go.sum --- golang-github-juju-testing-1.0.2/go.sum 2022-08-09 04:25:29.000000000 +0000 +++ golang-github-juju-testing-1.0.3/go.sum 2022-11-28 17:11:24.000000000 +0000 @@ -21,6 +21,8 @@ github.com/juju/clock v0.0.0-20220202072423-1b0f830854c4/go.mod h1:zDZCPSgCJQINeZtQwHx2/cFk4seaBC8Yiqe8V82xiP0= github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a h1:Az/6CM/P5guGHNy7r6TkOCctv3lDmN3W1uhku7QMupk= github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a/go.mod h1:GZ/FY8Cqw3KHG6DwRVPUKbSPTAwyrU28xFi5cqZnLsc= +github.com/juju/clock v1.0.2 h1:dJFdUGjtR/76l6U5WLVVI/B3i6+u3Nb9F9s1m+xxrxo= +github.com/juju/clock v1.0.2/go.mod h1:HIBvJ8kiV/n7UHwKuCkdYL4l/MDECztHR2sAvWDxxf0= github.com/juju/cmd v0.0.0-20171107070456-e74f39857ca0/go.mod h1:yWJQHl73rdSX4DHVKGqkAip+huBslxRwS8m9CrOLq18= github.com/juju/cmd/v3 v3.0.0-20220202061353-b1cc80b193b0/go.mod h1:EoGJiEG+vbMwO9l+Es0SDTlaQPjH6nLcnnc4NfZB3cY= github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271/go.mod h1:5XgO71dV1JClcOJE+4dzdn4HrI5LiyKd7PlVG6eZYhY= @@ -30,12 +32,16 @@ github.com/juju/errors v0.0.0-20210818161939-5560c4c073ff/go.mod h1:i1eL7XREII6aHpQ2gApI/v6FkVUDEBremNkcBCKYAcY= github.com/juju/errors v0.0.0-20220203013757-bd733f3c86b9 h1:EJHbsNpQyupmMeWTq7inn+5L/WZ7JfzCVPJ+DP9McCQ= github.com/juju/errors v0.0.0-20220203013757-bd733f3c86b9/go.mod h1:TRm7EVGA3mQOqSVcBySRY7a9Y1/gyVhh/WTCnc5sD4U= +github.com/juju/errors v1.0.0 h1:yiq7kjCLll1BiaRuNY53MGI0+EQ3rF6GB+wvboZDefM= +github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5Qe8= github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= github.com/juju/httpprof v0.0.0-20141217160036-14bf14c30767/go.mod h1:+MaLYz4PumRkkyHYeXJ2G5g5cIW0sli2bOfpmbaMV/g= github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4 h1:NO5tuyw++EGLnz56Q8KMyDZRwJwWO8jQnj285J3FOmY= github.com/juju/loggo v0.0.0-20210728185423-eebad3a902c4/go.mod h1:NIXFioti1SmKAlKNuUwbMenNdef59IF52+ZzuOmHYkg= +github.com/juju/loggo v1.0.0 h1:Y6ZMQOGR9Aj3BGkiWx7HBbIx6zNwNkxhVNOHU2i1bl0= +github.com/juju/loggo v1.0.0/go.mod h1:NIXFioti1SmKAlKNuUwbMenNdef59IF52+ZzuOmHYkg= github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208/go.mod h1:0OChplkvPTZ174D2FYZXg4IB9hbEwyHkD+zT+/eK+Fg= github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY= github.com/juju/mutex/v2 v2.0.0-20220128011612-57176ebdcfa3/go.mod h1:TTCG9BJD9rCC4DZFz3jA0QvCqFDHw8Eqz0jstwY7RTQ= @@ -65,6 +71,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -83,7 +91,10 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -96,6 +107,8 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -107,6 +120,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff -Nru golang-github-juju-testing-1.0.2/patch.go golang-github-juju-testing-1.0.3/patch.go --- golang-github-juju-testing-1.0.2/patch.go 2022-08-09 04:25:29.000000000 +0000 +++ golang-github-juju-testing-1.0.3/patch.go 2022-11-28 17:11:24.000000000 +0000 @@ -53,10 +53,14 @@ // environment variable. A function is returned that will return the // environment to what it was before. func PatchEnvironment(name, value string) Restorer { - oldValue := os.Getenv(name) - os.Setenv(name, value) + oldValue, oldValueSet := os.LookupEnv(name) + _ = os.Setenv(name, value) return func() { - os.Setenv(name, oldValue) + if oldValueSet { + _ = os.Setenv(name, oldValue) + } else { + _ = os.Unsetenv(name) + } } } diff -Nru golang-github-juju-testing-1.0.2/patch_test.go golang-github-juju-testing-1.0.3/patch_test.go --- golang-github-juju-testing-1.0.2/patch_test.go 2022-08-09 04:25:29.000000000 +0000 +++ golang-github-juju-testing-1.0.3/patch_test.go 2022-11-28 17:11:24.000000000 +0000 @@ -65,14 +65,40 @@ func (*PatchEnvironmentSuite) TestPatchEnvironment(c *gc.C) { const envName = "TESTING_PATCH_ENVIRONMENT" // remember the old value, and set it to something we can check - oldValue := os.Getenv(envName) - os.Setenv(envName, "initial") + oldValue, oldValueSet := os.LookupEnv(envName) + defer func() { + if oldValueSet { + _ = os.Setenv(envName, oldValue) + } else { + _ = os.Unsetenv(envName) + } + }() + + _ = os.Setenv(envName, "initial") restore := testing.PatchEnvironment(envName, "new value") // Using check to make sure the environment gets set back properly in the test. c.Check(os.Getenv(envName), gc.Equals, "new value") restore() c.Check(os.Getenv(envName), gc.Equals, "initial") - os.Setenv(envName, oldValue) +} + +func (*PatchEnvironmentSuite) TestPatchEnvironmentWithAbsentVar(c *gc.C) { + const envName = "TESTING_PATCH_ENVIRONMENT" + // remember the old value, and unset the var + oldValue, oldValueSet := os.LookupEnv(envName) + defer func() { + if oldValueSet { + _ = os.Setenv(envName, oldValue) + } + }() + + _ = os.Unsetenv(envName) + restore := testing.PatchEnvironment(envName, "new value") + + c.Check(os.Getenv(envName), gc.Equals, "new value") + restore() + _, set := os.LookupEnv(envName) + c.Check(set, gc.Equals, false) } func (*PatchEnvironmentSuite) TestRestorerAdd(c *gc.C) { @@ -89,7 +115,7 @@ dir := "/bin/bar" // just in case something goes wrong - defer os.Setenv("PATH", oldPath) + defer func() { _ = os.Setenv("PATH", oldPath) }() restore := testing.PatchEnvPathPrepend(dir)