On Fri, 14 Dec 2018, 18:14 Julian Foad <julianf...@apache.org wrote: > Julian Foad wrote: > > Are you willing to add random-input testing for them? > > The attached patch 'dirent-uri-test-random-2.patch' tests rules like: > > * every result should pass an X_is_canonical() test (obvious by code > inspection); > * every other input should produce SVN_ERR_CANONICALIZATION_FAILED; > * when a path is "canonical", it should be unchanged by "canonicalize". > > Some findings: > > * svn_uri_canonicalize_safe("") aborts; > * svn_uri_canonicalize_safe("/foo") aborts; >
We can fix this in the private "canonicalize()" function that all these eventually call. As before, I didn't have time to unknit the internal implementation. * upper/lower case inconsistencies in URIs > What inconsistencies? A canonical URI has the scheme and host name in lowercase, but the path, query, fragment and user info parts are case-sensitive. > I previously also found upper/lower case inconsistencies in dirent drive > letters, when running these tests with "#define SVN_USE_DOS_PATHS" set in > dirent_uri.c, but am right now failing to replicate that. > Similarly, I think we (or APR?) make drive letters lowercase. -- Brane