X-Git-Url: https://plomlompom.com/repos/?p=redo-blog;a=blobdiff_plain;f=test.sh;h=e333c4059294e1debc672de7266220a2869a6749;hp=97d0fbf1ccd88f6bad431d69044d67b04854907e;hb=a446e22cd10a164d8695a31d317b54dcd82fbafe;hpb=4cfe7958e5fb106a9febfc224dca0bdb8324e3dd diff --git a/test.sh b/test.sh index 97d0fbf..e333c40 100755 --- a/test.sh +++ b/test.sh @@ -1,20 +1,63 @@ #!/bin/sh -rm -rf test/test_dir -./add_dir.sh test/test_dir -cp test/test_files/test.md test/test_dir/ -cp test/test_files/foo.rst test/test_dir/ -cp test/test_files/bar\ baz.md test/test_dir/ -cd test/test_dir -redo -cd ../.. -for file in test/test_files/*.html; do - cmp_file=`echo "$file" | sed 's/test_files/test_dir/'` - printf "== %s diff test ==\n" "$cmp_file" - diff "$file" "$cmp_file" +uuid_test() +{ +uuid_file="$1" +printf "== %s UUID pattern match test ==\n" "$uuid_file" +if cat "$uuid_file" | grep -Eq "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"; then + echo "== test SUCCESS ==" +else + echo "== test FAILURE ==" +fi +} + +diff_test() +{ + expected_file="$1" + generated_file="$2" + printf "== %s diff test ==\n" "$generated_file" + diff "$expected_file" "$generated_file" if [ "$?" = "0" ]; then echo "== test SUCCESS ==" else echo "== test FAILURE ==" fi +} + +# Set up test directory. +expected_files_dir="test/test_files" +expected_files_dir_escaped="test\\/test_files" +generated_files_dir="test/test_dir" +generated_files_dir_escaped="test\\/test_dir" +rm -rf "$generated_files_dir" +./add_dir.sh "$generated_files_dir" +working_dir=$(pwd) +cp "$expected_files_dir"/test.md "$generated_files_dir"/ +cp "$expected_files_dir"/foo.rst "$generated_files_dir"/ +cp "$expected_files_dir"/bar\ baz.md "$generated_files_dir"/ +cd "$generated_files_dir" +redo +cd "$working_dir" + +# Simple file comparison tests and UUID tests. +uuid_test "$generated_files_dir""/uuid.meta" +for file in "$expected_files_dir"/*.html "$expected_files_dir"/*.meta; do + sed_expression='s/'"$expected_files_dir_escaped"'/'"$generated_files_dir_escaped"'/' + cmp_file=`echo "$file" | sed "$sed_expression"` + if [ ! "$file" = "$expected_files_dir""/index.html" ] && \ + echo "$file" | grep -q "\.html$"; then + uuid_test "${cmp_file%.html}.uuid" + fi + diff_test "$file" "$cmp_file" done + +# To compare feed.xml, ignore all variable date and uuid strings. +original_file="$generated_files_dir""/feed.xml" +generated_file="$original_file".ignoring +expected_file="$expected_files_dir""/feed.xml.ignoring" +cat "$original_file" | \ + sed 's/>[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}T[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}ZIGNOREurn:uuid:[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}urn:uuid:IGNORE "$generated_file" +diff_test "$expected_file" "$generated_file" +rm "$generated_file"