Commit Graph

300 Commits

Author SHA1 Message Date
Thomas Levine
12f975a0ca accept multiple test things 2016-03-06 14:19:04 +00:00
Thomas Levine
375e8a3137 change -v options to match my needs 2016-03-06 13:54:10 +00:00
Thomas Levine
afde2b1b30 use STDIN interface to sort 2016-03-06 13:42:52 +00:00
Thomas Levine
40d1c63f37 python sort test 2016-03-06 13:39:29 +00:00
Thomas Levine
bd5240d726 sort fallback 2016-03-06 13:30:42 +00:00
Thomas Levine
f61ca2f994 simpler sort string 2016-03-06 10:55:01 +00:00
Thomas Levine
997d256281 GNU sort note 2016-03-06 10:47:22 +00:00
Thomas Levine
868822758f help formatting 2016-03-06 10:46:24 +00:00
Thomas Levine
139152431e add --quiet 2016-03-06 10:45:40 +00:00
Thomas Levine
f5dc43bcef more verbosity levels 2016-03-06 10:42:34 +00:00
Thomas Levine
d39555bfc3 start on more verbosity levels 2016-03-06 10:39:40 +00:00
Thomas Levine
cd79969f28 remove color command from no-color code 2016-03-06 10:26:00 +00:00
Thomas Levine
dc26f877b7 fix file discovery 2016-03-06 10:22:15 +00:00
Thomas Levine
933aa466c4 Automatic commit with j 2016-03-06 10:04:16 +00:00
Thomas Levine
dbd604a82d start on --color 2016-03-06 09:44:10 +00:00
Thomas Levine
81b028d546 start on -v, -vv 2016-03-06 09:37:08 +00:00
Thomas Levine
d504f83141 skip non-executable directories 2016-03-02 22:02:21 +00:00
Thomas Levine
f2305648b7 half-way implementation of error on no found tests 2016-03-02 21:46:16 +00:00
Thomas Levine
918bf31ec5 fix molly guard 2016-03-02 21:18:40 +00:00
Thomas Levine
9fecb802cb remove newline 2016-03-02 20:39:37 +00:00
Thomas Levine
b1ea7ed294 add more braces 2016-03-02 20:39:31 +00:00
Thomas Levine
2b0974d305 add braces around variables 2016-03-02 20:29:33 +00:00
Thomas Levine
a90aed95a5 Automatic commit with j 2016-03-02 20:19:33 +00:00
Thomas Levine
e745555367 update documentation in --help 2016-02-29 13:29:51 +00:00
Thomas Levine
f8d98d9978 update shell cycling logic to match documentation
and I updated the documentation already because this new way seems
easier to think about
2016-02-29 12:29:49 +00:00
Thomas Levine
ceaf1bc92d check for lacking shebang line, only 2016-02-29 05:10:53 +00:00
Thomas Levine
44d4446be0 make separate licenses more clear 2016-02-29 04:11:37 +00:00
Thomas Levine
6db7ec41eb agpl license 2016-02-29 04:09:46 +00:00
Thomas Levine
347d975508 test --verbose 2016-02-29 03:55:21 +00:00
Thomas Levine
8aab5dad0d implement --timeout 2016-02-29 03:40:27 +00:00
Thomas Levine
34a065c074 start timeout 2016-02-29 03:37:04 +00:00
Thomas Levine
e5792a2f90 debugging zsh errors 2016-02-29 02:32:58 +00:00
Thomas Levine
bf19f94c08 pass env variable better i think 2016-02-29 02:13:40 +00:00
Thomas Levine
39f1ec70f6 warn about sorting 2016-02-29 01:37:53 +00:00
Thomas Levine
6f9aa9ad32 exit on fail works i think 2016-02-29 01:07:04 +00:00
Thomas Levine
f9c7b63b7c Automatic commit with j 2016-02-29 01:03:56 +00:00
Thomas Levine
ac557a4295 exit code handling 2016-02-29 01:03:17 +00:00
Thomas Levine
9477e3ee73 direct stderr to /dev/null 2016-02-29 00:43:56 +00:00
Thomas Levine
a94d04b136 sort -m 2016-02-29 00:41:03 +00:00
Thomas Levine
fca041d26e change molly guard error explanation 2016-02-28 22:56:49 +00:00
Thomas Levine
c6e1016b80 stop urchin_root at hidden directories 2016-02-28 22:49:57 +00:00
Thomas Levine
67aa65c3c7 add --verbose 2016-02-28 22:41:13 +00:00
Thomas Levine
06952c7761 work on setup teardown 2016-02-28 22:36:45 +00:00
Thomas Levine
58f2f754b5 move some setup teardown tests 2016-02-28 22:33:47 +00:00
Thomas Levine
9772161eaf fix exit codes 2016-02-28 21:37:28 +00:00
Thomas Levine
fd85cc54a3 don't worry about supporting zsh for now 2016-02-28 21:31:57 +00:00
Thomas Levine
dfab129074 exit 11 2016-02-28 21:02:38 +00:00
Thomas Levine
d7e1806040 make fullpath a function instead of an alias
Somehow this helps with sub-shells I guess.
2016-02-28 20:58:54 +00:00
Thomas Levine
3b90d0cda6 shorter molly guard message code 2016-02-28 20:57:55 +00:00
Thomas Levine
5aa081f1df test exit codes 2016-02-28 20:56:21 +00:00
Thomas Levine
7ab322923a separate stdout files by shell 2016-02-28 20:31:17 +00:00
Thomas Levine
2ce27acf95 oops == is not shell 2016-02-28 20:18:22 +00:00
Thomas Levine
008d8a2829 test tap format
and find new cross-shell bugs in urchin!
2016-02-28 20:03:49 +00:00
Thomas Levine
4e2ba32e98 add documented flags 2016-02-28 19:45:18 +00:00
Thomas Levine
22e4ff4cc3 tests for -e, --exit-on-fail 2016-02-28 19:43:32 +00:00
Thomas Levine
77da4ce194 generating tests 2016-02-28 19:18:54 +00:00
Thomas Levine
4c84456574 formatting 2016-02-28 18:41:00 +00:00
Thomas Levine
efab5cde8e shell cycling 2016-02-28 16:53:49 +00:00
Thomas Levine
ad3c6b901e pass TEST_SHELL and stuff 2016-02-28 16:32:06 +00:00
Thomas Levine
e71ac885b4 parellel yay 2016-02-28 16:19:42 +00:00
Thomas Levine
d836a40047 include time in output 2016-02-28 16:12:13 +00:00
Thomas Levine
552873a642 adding parallel stuff 2016-02-28 16:05:03 +00:00
Thomas Levine
241ddcd2cf add series flag 2016-02-28 16:00:07 +00:00
Thomas Levine
2f57f7345e tap output with shell name 2016-02-28 15:50:53 +00:00
Thomas Levine
9f97f5d422 output for not executable file skipped 2016-02-28 15:40:28 +00:00
Thomas Levine
71881a8d2d group output of multiple shells 2016-02-28 15:28:56 +00:00
Thomas Levine
539e3f1c0d fix writing to log file 2016-02-28 15:21:47 +00:00
Thomas Levine
a3c0a50c72 typo 2016-02-28 15:19:15 +00:00
Thomas Levine
5c88db1743 check for shells 2016-02-28 15:18:16 +00:00
Thomas Levine
8db241f1c3 hypothetical timeout flag 2016-02-28 15:15:09 +00:00
Thomas Levine
91202528e9 do not allow tabs 2016-02-28 14:32:33 +00:00
Thomas Levine
ffc98da702 shell_list 2016-02-28 14:14:55 +00:00
Thomas Levine
f9562e035b update help 2016-02-28 14:12:21 +00:00
Thomas Levine
c477aebf16 cycling shells by default 2016-02-28 14:01:17 +00:00
Thomas Levine
aa0899aeb8 reuse code 2016-02-28 13:24:55 +00:00
Thomas Levine
9c633a2029 separate dirname and basename in non-tap format 2016-02-28 13:23:36 +00:00
Thomas Levine
e8d3f84b92 wording 2016-02-28 13:13:17 +00:00
Thomas Levine
1b3ec7cf2a stdout files 2016-02-28 13:12:55 +00:00
Thomas Levine
08d0104081 output formatting 2016-02-28 12:59:36 +00:00
Thomas Levine
6c54b1b841 remove unused stuff 2016-02-28 12:56:42 +00:00
Thomas Levine
0fdd14494c tests with nested directories 2016-02-28 12:53:26 +00:00
Thomas Levine
6b98a5a946 put non-TAP back 2016-02-28 12:45:38 +00:00
Thomas Levine
794973b5ee remove root prefix from paths 2016-02-28 12:41:39 +00:00
Thomas Levine
f42a5a2489 fix empty directories 2016-02-28 12:35:27 +00:00
Thomas Levine
474541051e remove urchin_path 2016-02-28 12:25:34 +00:00
Thomas Levine
b4a3555196 absolute paths 2016-02-28 12:23:13 +00:00
Thomas Levine
eab1525998 simpler conditional 2016-02-28 12:15:42 +00:00
Thomas Levine
c604face40 remove debug statements 2016-02-28 12:14:38 +00:00
Thomas Levine
5df65fb6a1 fix path descending from root 2016-02-28 12:14:16 +00:00
Thomas Levine
0ce5e3dcac Automatic commit with j 2016-02-28 12:02:57 +00:00
Thomas Levine
2e3ce4dd1e better molly guard 2016-02-28 11:27:55 +00:00
Thomas Levine
262848eaa8 use urchin root 2016-02-28 11:26:25 +00:00
Thomas Levine
c2ab8410c6 urchin_root
don't need it just yet
2016-02-28 11:23:21 +00:00
Thomas Levine
062ace88e6 start urchin root 2016-02-28 11:18:39 +00:00
Thomas Levine
5533b6629b put hyphens in tap 2016-02-28 11:16:32 +00:00
Thomas Levine
0376bd936d count tests 2016-02-28 11:14:23 +00:00
Thomas Levine
75e085e801 keep track of ok, not ok, skip 2016-02-28 11:06:54 +00:00
Thomas Levine
359a339e78 tap and consistent variables 2016-02-28 10:57:27 +00:00
Thomas Levine
cee54dc21a better skip 2016-02-28 10:49:40 +00:00
Thomas Levine
7c0e491580 fix tap 2016-02-28 10:48:05 +00:00
Thomas Levine
3b42b85402 Automatic commit with j 2016-02-28 10:39:32 +00:00
Thomas Levine
5767859a07 woo some tap 2016-02-28 10:27:49 +00:00
Thomas Levine
85578e0bb5 closer to reporting 2016-02-28 10:18:06 +00:00
Thomas Levine
c929109811 start on reporting 2016-02-28 10:07:55 +00:00
Thomas Levine
fe8bebf0d3 exit codes on setup teardown 2016-02-28 10:00:53 +00:00
Thomas Levine
aaf4dc9367 Automatic commit with j 2016-02-28 09:36:48 +00:00
Thomas Levine
3d3d277954 Automatic commit with j 2016-02-28 09:25:21 +00:00
Thomas Levine
76db160a1c move more reporting 2016-02-28 09:17:16 +00:00
Thomas Levine
d2f676e9e9 start using the new tmp dir 2016-02-28 09:12:57 +00:00
Thomas Levine
c0ce7b4edc start using the new tmp dir 2016-02-28 09:08:20 +00:00
Thomas Levine
4482c96793 Automatic commit with j 2016-02-28 01:44:54 +00:00
Thomas Levine
ab7c75a8e0 Automatic commit with j 2016-02-28 01:37:56 +00:00
Thomas Levine
502247fc38 easier to read 2016-02-28 01:29:56 +00:00
Thomas Levine
5bd70ab947 separate stdout files 2016-02-28 01:25:36 +00:00
Thomas Levine
97a1cbffd4 Automatic commit with j 2016-02-28 01:18:55 +00:00
Thomas Levine
bb103757e4 implement exit code 3 thing 2016-02-26 17:37:39 +00:00
Thomas Levine
43674f12e2 more accepting molly-guard 2016-02-26 16:23:41 +00:00
Thomas Levine
87bb9f4660 link to COPYING file on web 2016-02-08 16:09:00 +00:00
Thomas Levine
8f82cf5aeb make long lines shorter 2016-02-08 16:05:56 +00:00
Thomas Levine
385ec3fe81 add a copying notice to the urchin excutable 2016-02-08 16:02:03 +00:00
Thomas Levine
2ac3a52707 fix printf to work in mksh 2016-02-08 15:50:12 +00:00
Thomas Levine
2be0151213 document the --help flag 2016-01-29 17:20:18 +00:00
Thomas Levine
d96f3707e9 implement -v 2016-01-29 17:17:31 +00:00
Thomas Levine
3f05794d7e add -v to usage 2016-01-29 17:16:01 +00:00
Thomas Levine
8e669c40a6 add + indent symbol so directories line up 2016-01-28 15:23:14 +00:00
Thomas Levine
bb42d27917 test plan 2016-01-28 15:23:14 +00:00
Thomas Levine
c1ec06c6fe logfile 2016-01-28 15:23:14 +00:00
Thomas Levine
5382946639 error on fail 2016-01-28 15:23:14 +00:00
Thomas Levine
144013c71c print skip count at end 2016-01-28 15:23:13 +00:00
Thomas Levine
009fd7ea05 print stdout for tap and not-tap 2016-01-28 15:23:13 +00:00
Thomas Levine
c3901fe175 tap indentation comments for directories 2016-01-28 15:23:13 +00:00
Thomas Levine
538c8437a7 assorted tap stuff 2016-01-28 15:23:13 +00:00
Thomas Levine
cd124e09ee more tap 2016-01-28 15:23:13 +00:00
Thomas Levine
d963f10be1 more tap 2016-01-28 15:23:13 +00:00
Thomas Levine
0ca55d155b oops 2016-01-28 15:23:13 +00:00
Thomas Levine
8d55550248 test test successes better 2016-01-28 15:23:13 +00:00
Thomas Levine
0f86778d79 convert indents to comments 2016-01-28 15:23:13 +00:00
Thomas Levine
92cb735bb7 start writing non-tap cases 2016-01-28 15:23:13 +00:00
Thomas Levine
c817355e94 not working 2016-01-28 15:23:13 +00:00
Thomas Levine
d4bedbbfcf first pass implementation of exit on fail 2016-01-28 15:23:13 +00:00
Thomas Levine
f6b57772f2 document unimplemented -e flag 2016-01-28 15:23:13 +00:00
Thomas Levine
d525c1793b remove "urchin -x"
unnecessary now that shall exists
2016-01-28 15:23:12 +00:00
Michael Klement
0385dcd86e Fixed blog link in read-me and commented out experimental -x option for now. 2014-12-05 18:50:19 -05:00
Michael Klement
2847b020b4 Make sure that CDPATH isn't set, as it causes cd to behave unpredictably - notably, it can produce output, which breaks fullpath().
Also: Improved CLI help, updated URLs in read-me, cleaned up package.json:

I've tried to clarify the intent of `-x` in the CLI help, but I haven't touched the read-me in that respect.

I don't see any benefit to `-x`:

* Just using `#/bin/sh` as the shebang line in combination with `-s <shell>` gives you the same functionality,
* When it comes to invoking scripts from _within_ test scripts, nothing can do the work for you: you consciously have to mark the invocation with _something_ to indicate that it should be controlled from the outside; it won't get any easier than `$TEST_SHELL ...`
* Finally, using a shebang line such as `#!/usr/bin/env urchin -x` is problematic for two reasons:
  * Some platforms can handle only *1* argument in a shebang line.
  * In a _package-local_ installation, `#!/usr/bin/env` may not find the Urchin executable.

I'm also not sure how the following (from `readme.md`) fits in the picture:

> It might make sense if you do this.

    export TEST_SHELL=zsh && urchin -x
    export TEST_SHELL=bash && urchin -x

(As an aside: To achieve the same thing, you don't need `export`; `TEST_SHELL=zsh urchin -x`  and `TEST_SHELL=bash urchin -x`  is the better choice.)
How does this relate to use in a  _shebang line_?

`urchin_help()` now uses a here-doc: easier to maintain, and should work in all Bourne-like shells.

`readmeFilename` removed from `package.json`:

> "The readmeFilename does not need to ever be in your actual package.json file" - npm/npm#3573
2014-12-03 09:54:15 -05:00
Michael Klement
fae24e926a Improved CLI help, updated URLs in read-me 2014-11-06 22:21:05 -05:00
Thomas Levine
90abc2640d update the -h help text 2014-11-05 17:49:53 +00:00
Thomas Levine
bf8c404784 fix -sh 2014-11-05 17:46:19 +00:00
Thomas Levine
bb41d5a156 zsh support 2014-11-05 17:38:22 +00:00
Thomas Levine
1f115df222 urchin -sh 2014-11-05 17:18:31 +00:00
Michael Klement
2f97421164 Hint added to read-me re standalone invocation of tests that use TEST_SHELL; revision of wording in read-me; argument checking no longer treats a missing dir. argument as an explicitly specified argument. 2014-10-18 10:34:30 -04:00