* 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
>>>
>>
>>
>

Reply via email to