Set up test suite

master
Drew DeVault 7 years ago
parent e5dec0cbd0
commit 3227b18a35
  1. 5
      Makefile
  2. 16
      test/lib.sh
  3. 44
      test/preamble

@ -41,4 +41,7 @@ install: all
install -Dm755 scdoc $(BINDIR)/scdoc
install -Dm644 scdoc.1 $(MANDIR)/man1/scdoc.1
.PHONY: all clean install
check: scdoc scdoc.1
@find test -executable -exec '{}' \;
.PHONY: all clean install check

@ -0,0 +1,16 @@
begin() {
printf '%-40s' "$1"
}
scdoc() {
./scdoc "$@" 2>&1
}
end() {
if [ $? -ne "$1" ]
then
printf 'FAIL\n'
else
printf 'OK\n'
fi
}

@ -0,0 +1,44 @@
#!/bin/sh
. test/lib.sh
begin "Expects a name"
scdoc <<EOF >/dev/null
(8)
EOF
end 1
begin "Expects a section"
scdoc <<EOF >/dev/null
test
EOF
end 1
begin "Expects name to alphanumeric"
scdoc <<EOF >/dev/null
____(8)
EOF
end 1
begin "Expects section to be a number"
scdoc <<EOF >/dev/null
test(hello)
EOF
end 1
begin "Expects section to legit"
scdoc <<EOF >/dev/null
test(100)
EOF
end 1
begin "Accepts a valid preamble"
scdoc <<EOF >/dev/null
test(8)
EOF
end 0
begin "Writes the appropriate header"
scdoc <<EOF | grep '^\.TH "test" "8" "'"$(date +'%F')"'"' >/dev/null
test(8)
EOF
end 0
Loading…
Cancel
Save