[darcs-devel] Failing Windows tests

Ganesh Sittampalam ganesh at earth.li
Sun Jul 26 22:14:36 UTC 2020


Hi,

On 23/07/2020 11:56, Ben Franksen wrote:

> Okay. There are unresolved issues, though. For instance
> http://bugs.darcs.net/issue2591 is still open. Perhaps we gave up at
> some point and skipped these tests on Windows?

Yes, true. I see the following encoding or name related tests that have
abort_windows:

# invalid characters in filenames - almost certainly will never work
git_quoted_filenames
convert-import-export-non-ascii
issue1932-colon-breaks-add

# these appear to be bugs or at least not properly understood
issue1442_encoding_round-trip
issue1739-escape-multibyte-chars-correctly
issue2262-display_of_meta_data
utf8-display

This was just a crude grep, I didn't check for example which tests are
actually being skipped on my computer for some other Windows-related reason.

>> In general I am not sure that it's impossible to handle encoding
>> properly on Windows, but the setup is quite different to Unix so it's
>> hard to do it portably.
> 
> Some of the test scripts go to great lengths to create repos with file
> names that are not encodable within the current locale, switch
> locale/encoding between different operations on the same repo etc. I
> imagine this to be difficult on Windows. Doesn't NTFS store them
> internally in UTF-16?
> 
> But I may be wrong about that.

I see a few different challenges with encoding:

 (1) Make darcs work nicely just on Unix with all the different ways
     people can use encodings there.

 (2) Make darcs work nicely just on Windows with all the different ways
     people can use encodings there.

 (3) Make darcs interoperate nicely between Windows and Unix. This may
     require users to restrict themselves to a defined subset of
     functionality.

 (4) Keep our code decently abstracted even given the significant
     differences between the two platforms.

So yes, your original statement that some of our encoding tests cannot
be made to work properly on Windows is likely true in that they are
relevant to (1) but fall outside the intersection required for (3).

I've been through some of the old discussions you pointed to but
unfortunately am still quite hazy on the all the details of this topic :-(

Ganesh


More information about the darcs-devel mailing list