You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Tomáš Procházka <ka...@razdva.cz> on 2020/05/28 17:00:50 UTC
How to fix tests of file path on Windows?
Hi,
what is correct way of fixing unit tests when they pass on Linux but
fail on Windows because of different file path?
Example
Test:
https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/src/org/netbeans/modules/php/codeception/coverage/CodeceptionCoverageLogParserTest.java
Test data:
https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/data/codeception-coverage.xml
Test data contain path
"/home/junichi11/NetBeansProjects/codeception/src/FizzBuzz.php".
Test asserts this path and on Linux test passes. On Widnows test fails
with message "junit.framework.ComparisonFailure:
expected:<[/home/junichi11/NetBeansProjects/codeception/src/]FizzBuzz.php>
but was:<[C:\home\junichi11\NetBeansProjects\codeception\src\]FizzBuzz.php>"
Regards,
Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: How to fix tests of file path on Windows?
Posted by Tomáš Procházka <ka...@razdva.cz>.
Path is read from XML file, but after processing it by File object, it
is changed to system-dependent value.
So I added processing of string as filename and tests are now passing on
both Linux and Windows.
Regards,
Tom
On 28.5.2020 19:11, Jens Hofschröer wrote:
> Hi
>
> Why is the test using an absolute path anyway? shouldn't this fail on
> all systems? Your test string should be system dependant. (At least the
> base path and the File.separatorChar).
>
> On Windows it is a bad idea to write directly to
> "getProperty("java.home")" it is a better idea to write to
> "getEnv("LOCALAPPDATA")". Also you can't "equal"-test a path on Windows.
> The NTFS Filesystem does not care about case. You have to handle this.
>
> Jens
>
> Am 28.05.2020 um 19:00 schrieb Tomáš Procházka:
>> Hi,
>>
>> what is correct way of fixing unit tests when they pass on Linux but
>> fail on Windows because of different file path?
>>
>> Example
>>
>> Test:
>> https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/src/org/netbeans/modules/php/codeception/coverage/CodeceptionCoverageLogParserTest.java
>>
>>
>> Test data:
>> https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/data/codeception-coverage.xml
>>
>>
>> Test data contain path
>> "/home/junichi11/NetBeansProjects/codeception/src/FizzBuzz.php".
>>
>> Test asserts this path and on Linux test passes. On Widnows test fails
>> with message "junit.framework.ComparisonFailure:
>> expected:<[/home/junichi11/NetBeansProjects/codeception/src/]FizzBuzz.php>
>> but
>> was:<[C:\home\junichi11\NetBeansProjects\codeception\src\]FizzBuzz.php>"
>>
>> Regards,
>>
>> Tom
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
Re: How to fix tests of file path on Windows?
Posted by Jens Hofschröer <ap...@nigjo.de>.
Hi
Why is the test using an absolute path anyway? shouldn't this fail on
all systems? Your test string should be system dependant. (At least the
base path and the File.separatorChar).
On Windows it is a bad idea to write directly to
"getProperty("java.home")" it is a better idea to write to
"getEnv("LOCALAPPDATA")". Also you can't "equal"-test a path on Windows.
The NTFS Filesystem does not care about case. You have to handle this.
Jens
Am 28.05.2020 um 19:00 schrieb Tomáš Procházka:
> Hi,
>
> what is correct way of fixing unit tests when they pass on Linux but
> fail on Windows because of different file path?
>
> Example
>
> Test:
> https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/src/org/netbeans/modules/php/codeception/coverage/CodeceptionCoverageLogParserTest.java
>
>
> Test data:
> https://github.com/apache/netbeans/blob/master/php/php.codeception/test/unit/data/codeception-coverage.xml
>
>
> Test data contain path
> "/home/junichi11/NetBeansProjects/codeception/src/FizzBuzz.php".
>
> Test asserts this path and on Linux test passes. On Widnows test fails
> with message "junit.framework.ComparisonFailure:
> expected:<[/home/junichi11/NetBeansProjects/codeception/src/]FizzBuzz.php>
> but
> was:<[C:\home\junichi11\NetBeansProjects\codeception\src\]FizzBuzz.php>"
>
> Regards,
>
> Tom
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: dev-help@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists