Commit Graph

58 Commits

Author SHA1 Message Date
aba7f9676d Move tests, remove old .ts files 2026-04-02 15:40:40 -07:00
eef0f4d2dc Merge branch 'rust-rewrite'
# Conflicts:
#	package.json
#	src/cli/index.ts
#	src/parse.test.ts
#	src/parse.ts
2026-04-02 15:30:50 -07:00
db5a7d66e6 omg rust 2026-04-02 15:18:22 -07:00
724f40c25d Allow @def body to start on the next continuation line
Previously, a backslash immediately after the macro name (with no
body on the first line) produced a leading newline. Now an empty
prefix is handled so the body begins cleanly on the continuation line.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 13:50:01 -07:00
9943641c02 Allow @def directives in setup files and fix macro precedence
User macros now correctly override setup macros instead of
last-write-wins. Also hardens @def continuation parsing to reject
trailing backslash at EOF, blank lines, and comment lines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 13:24:37 -07:00
7231c07a8b Apply macro expansion to teardown commands and fix @def continuation parsing
Teardown commands were missing the expandMacro call that setup and
parsed commands already received. Also relax the continuation-line
guard to catch bare `$` (not just `$ `) so lines like `$VAR` are
not silently consumed as continuation text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 11:59:08 -07:00
f508e30fcb Merge setup and user macros into a single map and harden @def parsing
User macros already overwrote setup macros, so two separate maps were
unnecessary. Also prevents @def continuations from silently swallowing
command or directive lines, and stops expanding macros in teardown.
2026-03-19 11:50:15 -07:00
ce1503a9d4 Add @def directive for command macro substitution
Macros let setup files define reusable command shorthands that
test files can invoke by name or override with their own definition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 11:28:59 -07:00
ebeedac78a Stream command results as dots in real time 2026-03-15 20:57:28 -07:00
f0c9dc8009 Add file label and dim timing to summary 2026-03-15 16:26:44 -07:00
24314c9c95 Add -t/--filter flag for file path filtering 2026-03-15 16:14:47 -07:00
c70bf95426 fix diff colors for expected/actual labels 2026-03-14 22:32:37 -07:00
36e300b317 Print dots during parallel execution 2026-03-13 14:14:20 -07:00
24981c6cc0 Merge branch 'code-cleanup'
# Conflicts:
#	src/parse.ts
#	src/run.ts
#	src/update.ts
2026-03-13 14:08:37 -07:00
945925fd99 docs: update CLAUDE.md and minor cleanup 2026-03-13 14:06:44 -07:00
e8bc4be382 Add @teardown directive support 2026-03-12 20:48:51 -07:00
813b32ab78 Strip ANSI color codes from command output 2026-03-12 16:26:53 -07:00
1ddee9ea9e Add support for $# comment lines in parser 2026-03-12 16:12:38 -07:00
481807255a Isolate per-command output from background procs 2026-03-12 16:06:33 -07:00
341a2fee42 test: add escaped dollar sign output cases 2026-03-12 15:27:08 -07:00
e829c67e88 Support escaped $ in expected output lines 2026-03-12 15:22:38 -07:00
870bc8e398 Stop reading stdout after last sentinel appears 2026-03-12 15:19:08 -07:00
37dc1b1732 Merge branch 'debug-port-variable' 2026-03-12 15:14:43 -07:00
9d13dfa5e7 kill escaped procs inline, guard pid > 1 2026-03-12 15:14:21 -07:00
18887b9419 Add real-time verbose command streaming via stderr 2026-03-12 14:48:10 -07:00
9b739fd8e4 Simplify killTree with single ps call 2026-03-12 14:47:13 -07:00
cba1ccce6d Add killTree to recursively kill child processes 2026-03-12 14:41:33 -07:00
7b014d0203 Update upgrade command to use shout package 2026-03-12 14:25:35 -07:00
f128053183 Add upgrade command to CLI 2026-03-12 14:24:55 -07:00
649796b078 Merge branch 'default-port-5400' 2026-03-12 14:22:45 -07:00
c71a34cc85 Simplify port-from handling and typing 2026-03-12 14:22:35 -07:00
c099efe161 Add SHOUT_SOURCE_DIR and SHOUT_PROJECT_DIR env vars 2026-03-12 14:21:40 -07:00
d22b5fbcea Add default port-from value of 5400 2026-03-12 14:20:07 -07:00
c843ba7c22 Simpler setup files 2026-03-10 21:46:58 -07:00
59246fb460 Merge branch 'respect-gitignore' 2026-03-10 16:45:22 -07:00
bc9f087bb4 Fix --path option default value initialization 2026-03-10 16:44:59 -07:00
bc99a1e2cb Filter gitignored files from discovery 2026-03-10 16:42:11 -07:00
5d2a4618d9 Refactor: extract shared utils, clean up deps 2026-03-10 15:12:45 -07:00
9196e82b63 no setsid on macos 2026-03-10 11:26:26 -07:00
371fb8c761 Merge branch 'setup'
# Conflicts:
#	CLAUDE.md
2026-03-10 10:21:06 -07:00
aeef6041ec Add exit code expectations and fix @setup validation 2026-03-10 10:20:23 -07:00
490414bd4a Merge branch 'add-first-proposal' 2026-03-10 10:19:43 -07:00
040c3a8c47 version 2026-03-10 10:18:54 -07:00
d2c24da7dc shout test 2026-03-10 10:15:16 -07:00
0a1100aaf7 Fix port assignment to respect user-defined PORT vars 2026-03-10 10:08:53 -07:00
b04849cc5a Rebrand to shout, add light mode, update docs 2026-03-10 10:07:03 -07:00
e97be11a0c Fix setup env precedence and validate directives 2026-03-10 10:03:17 -07:00
22d61d906e use setsid for process group cleanup 2026-03-10 09:45:45 -07:00
86eba1a624 docs: add @env/@setup directives to CLAUDE.md 2026-03-10 09:45:43 -07:00
04abf17d60 Add tests and kill process group on cleanup 2026-03-10 09:32:17 -07:00