summaryrefslogtreecommitdiffstats
path: root/_testing/run-test.zsh
diff options
context:
space:
mode:
authorAilin Nemui2014-06-16 04:11:29 +0200
committerAilin Nemui2014-06-24 18:28:59 +0200
commitca374a4a1acec99b19486549071ef6c9968b749a (patch)
treeec4f7f7e66b423c392b5dbb46e424ec56a43247c /_testing/run-test.zsh
parent525b2128888f1e3ca2088a54cc086b102dbfe690 (diff)
downloadscripts.irssi.org-ca374a4a1acec99b19486549071ef6c9968b749a.tar.bz2
Add travis testing to Irssi scripts.
Diffstat (limited to '_testing/run-test.zsh')
-rwxr-xr-x_testing/run-test.zsh42
1 files changed, 42 insertions, 0 deletions
diff --git a/_testing/run-test.zsh b/_testing/run-test.zsh
new file mode 100755
index 0000000..ac34c06
--- /dev/null
+++ b/_testing/run-test.zsh
@@ -0,0 +1,42 @@
+#!/bin/zsh
+mkdir -p Test
+local base_path="`pwd`"
+local test_script="$base_path/_testing/_irssi_test.pl"
+
+. ./_testing/_get_files_arr.zsh
+
+for scriptfile ($filelist) {
+ rm -rf "Test/${scriptfile:t:r}"
+ mkdir "Test/${scriptfile:t:r}"
+ perlcritic --theme certrule --exclude RequireEndWithOne -2 $scriptfile >"Test/${scriptfile:t:r}/perlcritic.log"
+ pushd Test
+ rm -fr .home
+ mkdir .home
+ ln -s ../../scripts .home
+ local filename="$base_path/$scriptfile"
+ <<STARTUP>.home/startup
+^set settings_autosave off
+^set use_status_window off
+^set autocreate_windows off
+^set -clear autocreate_query_level
+^set autoclose_windows off
+^set reuse_unused_windows on
+^set -clear log_close_string
+^set -clear log_day_changed
+^set -clear log_open_string
+^set log_timestamp *
+^load perl
+^script exec \$\$^W = 1
+run ${(qqq)test_script}
+^quit
+STARTUP
+ pushd ${scriptfile:t:r}
+ env TERM=xterm CURRENT_SCRIPT="$scriptfile:t:r" irssi --home="$base_path/Test/.home" >/dev/null 2>stderr.log
+ if [[ ! -s stderr.log ]] { rm -f stderr.log }
+ popd
+ printf . >&2
+ popd
+ perl -i -pe 's,\Q$ENV{PWD}/Test/.home/scripts/\E,,g;s,\Q$ENV{PWD}/Test/.home\E,..,g;s,\Q$ENV{PWD}\E,...,g;s,\(\@INC contains:.*? \.\),,g' ~/irc.log.*
+ mv ~/irc.log.* "Test/${scriptfile:t:r}/irssi.log"
+}
+exit 0