-
Notifications
You must be signed in to change notification settings - Fork 847
Description
If I give a bad option or combination of options to stack it just prints the usage, without telling me what the problem is. It should tell me what it doesn't like about my options.
For example, I'm trying to figure out the stack test equivalent of cabal test --test-option=<op1> --test-option=<op2>. Looking at stack test --help I see the --test-arguments option. First I try
stack test --test-argument=<op1> --test-argument=<op2>
and stack prints a generic Usage: ... message without any hint about what is wrong.
The problem is that the option is called --test-arguments (plural), not --test-argument (singular); Stack should tell me what the problem is: the option I gave is unknown (bonus points for suggesting the correct option like GHC does with typoed symbols, but that's a fancier fix).
I then wonder if I'm only allowed to use the --test-argument option once and try
stack test --test-argument=<op1>
and stack says Usage: .... Again, I have no idea what I've done wrong.
I then realize I was supposed to write --test-arguments, plural, so I try
stack test --test-arguments=<op1>
which works. So, I try two arguments again with
stack test --test-arguments=<op1> --test-arguments=<op2>
and stack says Usage: .... The problem now is that I'm not allowed to specify --test-arguments twice; Stack should tell me this.
Finally, I try the correct
stack test --test-arguments='<op1> <op2>'
and the test runs :)