From a513a9a574014ad96dc6e854e3ffff6cf98fc29f Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Tue, 12 May 2015 05:40:20 +0200
Subject: Travis CI: add a stupid end-to-end test
---
.travis.yml | 1 +
test | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100755 test
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"
--
cgit v1.2.3-70-g09d2