aboutsummaryrefslogtreecommitdiff
#!/bin/sh
set -u

. tests/lib.sh

XDG_DATA_HOME="$PWD/tests/test-profiles/signals-$(uuid)"
export XDG_DATA_HOME

test_status_is_zero_when_command_is_successful() {
	testing 'status is 0 when command is successful'
	N="$LINENO"

	printf 'a\n' | ./src/remembering -pp1 -- head -n1 1>/dev/null 2>/dev/null
	STATUS=$?
	assert_status 0

	printf '' | ./src/remembering -pp2 -- true 1>/dev/null 2>/dev/null
	STATUS=$?
	assert_status 0

	seq 9 | ./src/remembering -pp3 -- grep 7 1>/dev/null 2>/dev/null
	STATUS=$?
	assert_status 0

	test_ok
}

test_status_is_forwarded_from_command() {
	testing 'status is forwarded from command'
	N="$LINENO"
	for status in $(seq 1 125); do
		printf '' | ./src/remembering -pp4 -- sh -c "exit $status" 1>/dev/null 2>/dev/null
		STATUS=$?
		assert_status "$status"
	done
	test_ok
}

test_status_is_zero_when_command_is_successful
test_status_is_forwarded_from_command