* cause obviously we can not* exactly hard code paths.
On Sun, Jul 29, 2012 at 2:43 PM, Michael Herndon
mhern...@wickedsoftware.net wrote:
to explain further, the shadow copy feature basically copies the test
assemblies to a different location and executes them from that location.
However, to my knowledge it does not copy the file resources. The location
of where a test assembly is located and execute is not guaranteed which
makes using relative paths fickle, but its required cause obviously we can
exactly hard code paths.
Shadow copy breaks using relative paths in test code. However if you turn
shadow copy off, then it kills the workflow of writing tests from within
visual studio since the test assembly is seen being used by another process
and blocks VS from rebuilding the test assembly which can be really
frustrating as you would imagine.
The thing to do is attempt to account for all situations so that people
can download on whatever box using whatever test tools with as little
friction as possible. I'm open to suggestions.
On Sun, Jul 29, 2012 at 2:20 PM, Michael Herndon
mhern...@wickedsoftware.net wrote:
because of the shadow copy feature in nunit.
simply using
Path.Combine(Index, index. + oldNames[i]);
won't work when the test assemblies are located in funky places.
On Sun, Jul 29, 2012 at 4:56 AM, Simon Svensson si...@devhost.se wrote:
I'm looking into running the tests in MonoDevelop (Mono 2.10.9) on a
Mac, debugging one failure at a time. The TestBackwardsCompability tests
fails when unzipping because the paths for the source zip files are
incorrectly calculated. It originates in Paths.AssemblyDirectory, where it
returns a rooted path on Windows (C:\Users\sisve\...), but a relative
path on Mac (Users/sisve/...).
We could use the existing Path.Combine, and choose to copy to
input.xxx.zip files to the output directory. This would remove the need
for the Paths class completely [if I understand it correctly]. (It's also
used from LuceneTestCase to initialize a variable no-one uses.)
Old: System.String dirName = Paths.CombinePath(Paths.**ProjectRootDirectory,
test/core/index/index. + oldNames[i]);
New: System.String dirName = Path.Combine(Index, index. +
oldNames[i]);
But this makes me wondering, why was the Paths class introduced at all?
// Simon