From a513a9a574014ad96dc6e854e3ffff6cf98fc29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Tue, 12 May 2015 05:40:20 +0200 Subject: [PATCH] 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"