Fix test(1) semantics
Evan Gates says: After writing my own test[0] I checked and sbase already has test. I'm including a patch to remove test from the TODO. I also noticed that sbase's test handles a few specific cases incorrectly (documentation at [1]). test ! = foo When there are 3 arguments and the second is a valid binary primary test should perform that binary test. Only if the second argument is not a valid binary primary and the first is ! should test negate the two argument test. I've attached a patch that should fix this. test ! ! ! test ! ! ! ! When there are 3 arguments and the second is not a valid primary and the first is !, test should return the negation of the remaining two argument test. In this case sbase's test works correctly for ! and ! ! but fails afterwards as it's not recursive. I don't yet have a patch for this but I'm working on one. Then again both of these areas may be places in which worse is better. [0] https://bitbucket.org/emg/tidbits/src/11329f3834caad03f619f17c11cf3f530052ae74/test.c?at=master [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
This commit is contained in: