The tests now run godeps

Nate Finch nate.finch at canonical.com
Thu Aug 21 00:12:03 UTC 2014


What happens when you run godeps normally?

It should ignore the std lib stuff, but I don't actually know how that's
implemented.
On Aug 20, 2014 8:02 PM, "Ian Booth" <ian.booth at canonical.com> wrote:

> Hmmmm. The test fails for me.
>
>
> FAIL: dependencies_test.go:42: dependenciesTest.TestGodepsIsRight
>
> dependencies_test.go:77:
>     ...
> dependencies_test.go:70:
>     c.Fatal(string(out))
> ... Error: godeps: no version control system found for
> "/usr/lib/go/src/pkg/bufio"
> godeps: no version control system found for "/usr/lib/go/src/pkg/bytes"
> godeps: no version control system found for "/usr/lib/go/src/pkg/errors"
> godeps: no version control system found for "/usr/lib/go/src/pkg/io"
> godeps: no version control system found for "/usr/lib/go/src/pkg/sync"
> godeps: no version control system found for
> "/usr/lib/go/src/pkg/sync/atomic"
> ...
> ...
>
>
> On 21/08/14 05:18, Nate Finch wrote:
> > In an effort to make sure that dependencies.tsv is actually correct, the
> > tests in github.com/juju/juju now run godeps -t ./... and compare its
> > output to dependencies.tsv.  The test looks for godeps first in the
> $PATH,
> > and then in the first $GOPATH/bin.  If it is not found, it currently
> skips
> > the test (because CI doesn't have godeps when it runs the tests).
> >  Eventually I'd like to make the test not skippable, since anyone running
> > the tests (except CI) needs godeps anyway... but to get this in sooner
> > rather than later, I think it's ok to let it be skipped.
> >
> > Note that in submitting the PR, I actually had to fix dependencies.tsv to
> > get the test to pass, because it was wrong.... which is exactly why this
> > test exists.
> >
> > You can now run go test from github.com/juju/juju and it'll tell you if
> > something's wonky with dependencies.tsv... it'll tell you if there are
> > entries in it that aren't needed, it'll tell you if you're missing
> entries
> > that should be in it, and it'll tell you if one of your branches is on
> the
> > wrong commit.
> >
> > *Note:* this means you can't just willy-nilly append your latest
> dependency
> > to dependencies.tsv.  They need to be in alphabetical order.  The easiest
> > way to do that is just to run godeps -t ./... > dependencies.tsv from
> > github.com/juju/juju.  That'll produce the right output.  Obviously,
> check
> > the diff to make sure the changes it produces are the ones you expect.
> >
> > This also means that we need to ensure godeps produces the right output
> on
> > all OSes.  If you have a dependency that exists only in an OS-specific
> > file, the godeps test will fail on OSes other than that one (e.g. if
> > there's a dependency in an _windows.go file, the test will fail on linux,
> > because godeps doesn't see the windows dependencies).  To fix this, the
> > easiest thing to do is import the same library in an OS-agnostic file,
> and
> > give it a name of underscore, which will prevent the unused package
> error,
> > thusly:  _ "foo.com/my/win/lib"
> >
> > -Nate
> >
> >
> >
>
> --
> Juju-dev mailing list
> Juju-dev at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20140820/a6a426f4/attachment.html>


More information about the Juju-dev mailing list