-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add command line globbing to all utilities (for windows targets) #1281
Conversation
It's not obvious how to fix the failing tests from my end. I do believe they are due to bugs in Maybe the three failing tests should just be gated out for Windows for the time being until the globbing story becomes more polished (see rust-lang/glob#59). |
Note that Windows' quoting/escaping syntax is bizarre, and incompatible with any sensible Unix-like expectations. It has weird hacks to tolerate unescaped backslashes, and weird cases where:
is parsed as Also keep in mind that |
Agreed, CMD has a LOT of weird edge cases. But the initial failing test that I see is
I think the wildcard/globbing process is being overly aggressive. If there aren't any glob characters in an argument (or if globbing returns an empty set), the argument should just be returned. Isn't that a wild/globbing issue? |
Oh, I see. Fair point about overly-aggressive glob. I'll check that out. |
Fixed in wild v1.1.1 and v2.0.1 |
👍 Looking better, and passing all tests, on my machine... Let's see how we do with AppVeyor. |
Excellent, everything is passing, thanks @kornelski ! |
This is problematic, because Only enabling the feature on Windows might work, because there |
The |
@Arcterus , I've got a branch with rust@1.27 and revised / working Travis CI testing at https://github.com/rivy/rust.coreutils/tree/fix.ci, specifically rivy@deead6f. It includes AppVeyor changes as AppVeyor CI was failing for odd reasons; so I remodeled it based upon a newer template (see https://github.com/starkat99/appveyor-rust/blob/master/appveyor.yml). The full comparison is master...rivy:fix.ci. The Travis CI build is at https://travis-ci.org/rivy/rust.coreutils/builds/432010513. The AppVeyor CI build is at https://ci.appveyor.com/project/rivy/rust-coreutils/build/2%20~%20fix.ci. I can add all or part of it to this PR... let me know how you'd like me to proceed. (( reposted from sub-discussion above )) |
It’s fine if you include it in this PR. |
I've used this updated PR as a base for further fixes, and it seems like a good new base. All tests are working correctly for all of my newer commits (which I'll rebase and PR after this is merged). |
@Arcterus can we merge this? |
Ping @Arcterus. Anything changes needed before a merge? I've got a couple of other pending fixes based on this commit set. |
@vks ? |
Really sorry about being MIA for the past while. This seems good to me though! |
Add command line globbing to all utilities (for windows targets)
Command line globbing is added (for windows targets) to all utilities via 'uucore'.
This change increases portability and parity across machine targets.
This initial commit uses the published 'wild' crate. The second commit references a personal fork of 'wild' which updates the API and includes proper case insensitivity (again, for windows targets). I plan to update and re-reference the published 'wild' crate when it is updated to include the fixes.