all repos

clerk @ 6fdb9097048e212574439fb0da84d0c94aa7e01b

missing tooling for ledger/hledger

clerk/journal/testdata/journals/validate.sh (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
journal: refactor compatibility test runner, 14 days ago
1
#!/bin/bash
2
3
cd "$(dirname "$0")/../.."
4
5
has_ledger=0
6
has_hledger=0
7
command -v ledger &>/dev/null && has_ledger=1
8
command -v hledger &>/dev/null && has_hledger=1
9
10
[[ $has_ledger -eq 0 && $has_hledger -eq 0 ]] && {
11
	echo "Neither ledger nor hledger installed"
12
	exit 1
13
}
14
15
passed=0
16
failed=0
17
18
for f in tests/journal/*; do
19
	[[ -f "$f" ]] || continue
20
	name=$(basename "$f")
21
22
	[[ "$name" == broken-* ]] && continue
23
	[[ "$name" == "actual-1ktxns-100accts.journal" ]] && continue
24
	[[ "$name" == *.sh ]] && continue
25
26
	if [[ $has_ledger -eq 1 ]]; then
27
		if timeout 2 ledger -f "$f" print >/dev/null 2>&1; then
28
			echo "LEDGER OK   $name"
29
			passed=$((passed + 1))
30
		else
31
			echo "LEDGER FAIL $name"
32
			failed=$((failed + 1))
33
		fi
34
	fi
35
36
	# hledger only for .dat files
37
	if [[ $has_hledger -eq 1 && "$name" == *.dat ]]; then
38
		if timeout 2 hledger -f "$f" print >/dev/null 2>&1; then
39
			echo "HLEDGER OK  $name"
40
		else
41
			echo "HLEDGER FAIL $name"
42
		fi
43
	fi
44
done
45
46
echo ""
47
echo "Summary: $passed passed, $failed failed"
48
[[ $failed -eq 0 ]] && exit 0 || exit 1