summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorXavier Roche <xroche@users.noreply.github.com>2013-06-02 17:46:48 +0000
committerXavier Roche <xroche@users.noreply.github.com>2013-06-02 17:46:48 +0000
commit41c5abebb2a3c77eb0494d7a436cb1bea2f7a6c2 (patch)
tree95d410a66e651a286811db58d4b4cc7c6fd9982e /tests
parentf23e4b0ce677a08665ec7f3e662569e12326913b (diff)
More tests!
Diffstat (limited to 'tests')
-rwxr-xr-xtests/11_crawl-idna.test7
-rwxr-xr-xtests/11_crawl-international.test48
-rwxr-xr-xtests/11_crawl-parsing.test11
-rwxr-xr-xtests/crawl-test.sh34
-rwxr-xr-xtests/run-all-tests.sh20
5 files changed, 113 insertions, 7 deletions
diff --git a/tests/11_crawl-idna.test b/tests/11_crawl-idna.test
index 5a541ca..6866d80 100755
--- a/tests/11_crawl-idna.test
+++ b/tests/11_crawl-idna.test
@@ -2,7 +2,12 @@
#
# unicode tests
-bash crawl-test.sh --errors 1 --files 5 \
+bash crawl-test.sh \
+ --errors 1 --files 5 \
+ --found 'café.ut.httrack.com/unicode-links/café3860.html' \
+ --found 'café.ut.httrack.com/unicode-links/café30f4.html' \
+ --found 'café.ut.httrack.com/unicode-links/café5e1f.html' \
+ --found 'café.ut.httrack.com/unicode-links/café7b30.html' \
httrack 'http://ut.httrack.com/unicode-links/idna.html' \
'+*.ut.httrack.com/*' --robots=0
diff --git a/tests/11_crawl-international.test b/tests/11_crawl-international.test
index b661963..cc5f627 100755
--- a/tests/11_crawl-international.test
+++ b/tests/11_crawl-international.test
@@ -2,6 +2,48 @@
#
# unicode tests
-bash crawl-test.sh --errors 1 --files 10 httrack http://ut.httrack.com/unicode-links/utf8.html
-bash crawl-test.sh --errors 4 --files 7 httrack http://ut.httrack.com/unicode-links/default.html
-bash crawl-test.sh --errors 2 --files 9 httrack http://ut.httrack.com/unicode-links/iso88591.html
+bash crawl-test.sh \
+ --errors 1 --files 10 \
+ --found ut.httrack.com/unicode-links/caf%a91bce.html \
+ --found ut.httrack.com/unicode-links/café30f4.html \
+ --found ut.httrack.com/unicode-links/café3860.html \
+ --found ut.httrack.com/unicode-links/café463e.html \
+ --found ut.httrack.com/unicode-links/café5e1f.html \
+ --found ut.httrack.com/unicode-links/café7b30.html \
+ --found ut.httrack.com/unicode-links/café8007.html \
+ --found ut.httrack.com/unicode-links/café9fa8.html \
+ --found ut.httrack.com/unicode-links/caféae52.html \
+ --found ut.httrack.com/unicode-links/caféc009.html \
+ --found ut.httrack.com/unicode-links/utf8.html \
+ httrack http://ut.httrack.com/unicode-links/utf8.html
+
+bash crawl-test.sh \
+ --errors 4 --files 7 \
+ --found ut.httrack.com/unicode-links/café3860.html \
+ --found ut.httrack.com/unicode-links/café9fa8.html \
+ --found ut.httrack.com/unicode-links/café30f4.html \
+ --found ut.httrack.com/unicode-links/café5e1f.html \
+ --found ut.httrack.com/unicode-links/café7b30.html \
+ --found ut.httrack.com/unicode-links/café8007.html \
+ --found ut.httrack.com/unicode-links/caf%e939bd.html \
+ --found ut.httrack.com/unicode-links/caf%e9ae52.html \
+ --found ut.httrack.com/unicode-links/caféaec2.html \
+ --found ut.httrack.com/unicode-links/caféfad6.html \
+ --found ut.httrack.com/unicode-links/default.html \
+ httrack http://ut.httrack.com/unicode-links/default.html
+
+bash crawl-test.sh \
+ --errors 2 --files 9 \
+ --found ut.httrack.com/unicode-links/caf%a9ae52.html \
+ --found ut.httrack.com/unicode-links/caf%a9bf59.html \
+ --found ut.httrack.com/unicode-links/café30f4.html \
+ --found ut.httrack.com/unicode-links/café3860.html \
+ --found ut.httrack.com/unicode-links/café5e1f.html \
+ --found ut.httrack.com/unicode-links/café647f.html \
+ --found ut.httrack.com/unicode-links/café7b30.html \
+ --found ut.httrack.com/unicode-links/café8007.html \
+ --found ut.httrack.com/unicode-links/caféaec2.html \
+ --found ut.httrack.com/unicode-links/caféfad6.html \
+ --found ut.httrack.com/unicode-links/iso88591.html \
+ httrack http://ut.httrack.com/unicode-links/iso88591.html
+
diff --git a/tests/11_crawl-parsing.test b/tests/11_crawl-parsing.test
new file mode 100755
index 0000000..f64cca0
--- /dev/null
+++ b/tests/11_crawl-parsing.test
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+
+# http://code.google.com/p/httrack/issues/detail?id=4&can=1
+bash crawl-test.sh --errors 0 --files 4 \
+ httrack http://ut.httrack.com/parsing/events.html
+
+# http://code.google.com/p/httrack/issues/detail?id=2&can=1
+bash crawl-test.sh --errors 0 --files 3 \
+ httrack http://ut.httrack.com/parsing/background-image.html
+
diff --git a/tests/crawl-test.sh b/tests/crawl-test.sh
index 8713325..370fb57 100755
--- a/tests/crawl-test.sh
+++ b/tests/crawl-test.sh
@@ -68,7 +68,7 @@ function start-crawl {
;;
--no-purge|--summary)
;;
- --errors|--files)
+ --errors|--files|--found|--not-found|--directory)
pos=$[${pos}+1]
test "$#" -ge "$pos" || warning "missing argument" || return 1
;;
@@ -127,12 +127,40 @@ function start-crawl {
;;
--errors)
shift
- test "$#" -gt 0 || warning "missing argument" || return 1
assert_equals "checking errors" "$1" "$(grep -iEc "^[0-9\:]*[[:space:]]Error:" "${tmp}/hts-log.txt")"
;;
+ --found)
+ shift
+ info "checking for $1"
+ if test -f "${tmp}/$1" ; then
+ result "OK"
+ else
+ result "not found"
+ exit 1
+ fi
+ ;;
+ --not-found)
+ shift
+ info "checking for $1"
+ if test -f "${tmp}/$1" ; then
+ result "OK"
+ else
+ result "not found"
+ exit 1
+ fi
+ ;;
+ --directory)
+ shift
+ info "checking for $1"
+ if test -d "${tmp}/$1" ; then
+ result "OK"
+ else
+ result "not found"
+ exit 1
+ fi
+ ;;
--files)
shift
- test "$#" -gt 0 || warning "missing argument" || return 1
nFiles=$(grep -E "^HTTrack Website Copier/[^ ]* mirror complete in " "${tmp}/hts-log.txt" \
| sed -e 's/.*[[:space:]]\([^ ]*\)[[:space:]]files written.*/\1/g')
assert_equals "checking files" "$1" "$nFiles"
diff --git a/tests/run-all-tests.sh b/tests/run-all-tests.sh
new file mode 100755
index 0000000..8e68e8d
--- /dev/null
+++ b/tests/run-all-tests.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+
+error=0
+for i in *.test ; do
+ if bash $i ; then
+ echo "$i: passed" >&2
+ else
+ echo "$i: ERROR" >&2
+ error=1
+ fi
+done
+
+if test "$error" -eq 0; then
+ echo "all tests passed" >&2
+else
+ echo "one or more tests failed" >&2
+fi
+
+exit $error