aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rwxr-xr-xtest48
2 files changed, 49 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 752187c..911f57a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -36,3 +36,4 @@ script:
-DWANT_READLINE=$readline -DWANT_LIBEDIT=$libedit
- make
- cpack -G DEB
+ - ../test
diff --git a/test b/test
new file mode 100755
index 0000000..38227aa
--- /dev/null
+++ b/test
@@ -0,0 +1,48 @@
+#!/usr/bin/expect -f
+# Very basic end-to-end testing for Travis CI
+
+# Run the daemon to test against
+system ./kike --write-default-cfg
+spawn ./kike -d
+
+# 10 seconds is a bit too much
+set timeout 5
+
+spawn ./degesch
+
+# Fuck this Tcl shit, I want the exit code
+expect_after {
+ eof {
+ puts ""
+ puts "Child exited prematurely"
+ exit 1
+ }
+}
+
+# Connect to the daemon
+send "/set server.irc_host = \"localhost\"\n"
+expect "Option changed"
+send "/disconnect\n"
+expect "]"
+send "/connect\n"
+expect "Connection established"
+
+# Try some chatting
+send "/join #test\n"
+expect "has joined"
+send "Hello\n"
+expect "Hello"
+
+# Attributes
+send "\x1bmbBold text! \x1bmc0,5And colors.\n"
+expect "]"
+
+# Try basic commands
+send "/set\n"
+expect "]"
+send "/help\n"
+expect "]"
+
+# Quit
+send "/quit\n"
+expect "Shutting down"