dev: errors: test generation improvements
This commit is contained in:
		
							parent
							
								
									90c41529ef
								
							
						
					
					
						commit
						d0a7154b4a
					
				| @ -1,8 +1,10 @@ | ||||
| HLEDGER ?= hledger | ||||
| 
 | ||||
| ERRORSCRIPTS=*.j *.timeclock # *.timedot *.csv | ||||
| # j, csv, timeclock, timedot files which are executable
 | ||||
| ERRORSCRIPTS := $$(find . -perm +rwx \( -name '*.j' -or -name '*.csv' -or -name '*.timeclock' -or -name '*.timedot' -or -name '*.sh' \)) | ||||
| 
 | ||||
| # Check error messages of hledger in $PATH against current error tests.
 | ||||
| # Check error messages of $HLEDGER against current error tests.
 | ||||
| # A few tests (csvstdinrules.sh) may use "hledger" in $PATH instead of $HLEDGER.
 | ||||
| test: | ||||
| 	@printf "Running error message tests with hledger $$($(HLEDGER) --version | awk '{print $$2}'):\n" | ||||
| 	shelltest -w $(HLEDGER) *.test | ||||
|  | ||||
| @ -21,14 +21,18 @@ TEST=$(echo "$SCRIPT" | sed -E 's/\.[^.]+$//').test | ||||
| { | ||||
| head -1 "$SCRIPT" | sed -E "s%#!/usr/bin/env -S (.*)%\$\$\$ \1 $SCRIPT%" | ||||
| printf ">>>2 /" | ||||
| "./$SCRIPT" 2>&1 | sed -E \ | ||||
|   -e 's%(hledger: Error: ).*/\./(.*)%\1.*\2%' \ | ||||
|   -e 's%/%\\/%g' \ | ||||
| ./"$SCRIPT" 2>&1 | sed -E \ | ||||
|   -e 's/\^/\\^/g' \ | ||||
|   -e 's/\$/\\$/g' \ | ||||
|   -e 's/\+/\\+/g' \ | ||||
|   -e 's/\*/\\*/g' \ | ||||
|   -e 's/\[/\\[/g' \ | ||||
|   -e 's/\]/\\]/g' \ | ||||
|   -e 's/\(/\\(/g' \ | ||||
|   -e 's/\)/\\)/g' \ | ||||
|   -e 's/\|/\\|/g' \ | ||||
|   -e 's%(hledger: Error: ).*/\./(.*)%\1.*\2%' \ | ||||
|   -e 's%/%\\/%g' \ | ||||
|   | head -c 300 | ||||
| printf "/\n>>>= 1\n" | ||||
| } >"$TEST" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user