tree af46327c31d494539fb11be27b80de9bee004fb4
parent b59a306cb64e22bc886df1031a44328203e8f72c
parent dd503484b83e23d5d61dc9ad7bb882f077154ca9
author John A Meinel <john@arbash-meinel.com> 1362169238 -0300
committer Gustavo Niemeyer <gustavo@niemeyer.net> 1362169238 -0300

This fixes a bunch of failing tests on Windows.

Specifically, a lot of tests were asserting something like:

FAIL: filename.go ...

While on Windows, the full paths are given:

FAIL: C:/dev/go/gocheck/filename.go

I dug into it, and it turns out that nicePath was comparing
function.FileLine() to os.Getwd(). However, function.FileLine() returns
'C:/path/to/foo' while 'os.Getwd()' returns 'C:\path\to\foo'.

I also did one more quick change, which was to always append the trailing '/'.
That way we don't have to do that on every call to nicePath() (and I checked
that only nicePath uses initWD).

At the moment, there are only 2 remaining tests failing. Both because the
failure messages don't include the module name. This is with golang r58. So it
is possible that golang changed something (so it needs to be fixed anyway), or
it is possible it just works differently on Windows :(.
