aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml32
-rw-r--r--.travis/platform.sh15
-rw-r--r--.travis/setup_lua.sh92
3 files changed, 139 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..316af68
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,32 @@
1language: c
2
3env:
4 global:
5 - LUAROCKS=2.2.0-rc1
6 matrix:
7 - LUA=lua5.1
8 - LUA=lua5.2
9 - LUA=luajit
10
11branches:
12 only:
13 - master
14
15before_install:
16 - bash .travis/setup_lua.sh
17 - sudo pip install cpp-coveralls
18
19install:
20 - sudo luarocks make rockspecs/luafilesystem-cvs-2.rockspec CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="-shared --coverage"
21
22script:
23 - cd tests
24 - sudo lua test.lua
25
26after_success:
27 - coveralls -b .. -r ..
28
29notifications:
30 email:
31 on_success: change
32 on_failure: always
diff --git a/.travis/platform.sh b/.travis/platform.sh
new file mode 100644
index 0000000..4a3af0d
--- /dev/null
+++ b/.travis/platform.sh
@@ -0,0 +1,15 @@
1if [ -z "$PLATFORM" ]; then
2 PLATFORM=$TRAVIS_OS_NAME;
3fi
4
5if [ "$PLATFORM" == "osx" ]; then
6 PLATFORM="macosx";
7fi
8
9if [ -z "$PLATFORM" ]; then
10 if [ "$(uname)" == "Linux" ]; then
11 PLATFORM="linux";
12 else
13 PLATFORM="macosx";
14 fi;
15fi
diff --git a/.travis/setup_lua.sh b/.travis/setup_lua.sh
new file mode 100644
index 0000000..1ead166
--- /dev/null
+++ b/.travis/setup_lua.sh
@@ -0,0 +1,92 @@
1#! /bin/bash
2
3# A script for setting up environment for travis-ci testing.
4# Sets up Lua and Luarocks.
5# LUA must be "lua5.1", "lua5.2" or "luajit".
6# luajit2.0 - master v2.0
7# luajit2.1 - master v2.1
8
9LUAJIT_BASE="LuaJIT-2.0.3"
10
11source .travis/platform.sh
12
13LUAJIT="no"
14
15if [ "$PLATFORM" == "macosx" ]; then
16 if [ "$LUA" == "luajit" ]; then
17 LUAJIT="yes";
18 fi
19 if [ "$LUA" == "luajit2.0" ]; then
20 LUAJIT="yes";
21 fi
22 if [ "$LUA" == "luajit2.1" ]; then
23 LUAJIT="yes";
24 fi;
25elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then
26 LUAJIT="yes";
27fi
28
29if [ "$LUAJIT" == "yes" ]; then
30
31 if [ "$LUA" == "luajit" ]; then
32 curl http://luajit.org/download/$LUAJIT_BASE.tar.gz | tar xz;
33 else
34 git clone http://luajit.org/git/luajit-2.0.git $LUAJIT_BASE;
35 fi
36
37 cd $LUAJIT_BASE
38
39 if [ "$LUA" == "luajit2.1" ]; then
40 git checkout v2.1;
41 fi
42
43 make && sudo make install
44
45 if [ "$LUA" == "luajit2.1" ]; then
46 sudo ln -s /usr/local/bin/luajit-2.1.0-alpha /usr/local/bin/luajit
47 sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua;
48 else
49 sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua;
50 fi;
51
52else
53 if [ "$LUA" == "lua5.1" ]; then
54 curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
55 cd lua-5.1.5;
56 elif [ "$LUA" == "lua5.2" ]; then
57 curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz
58 cd lua-5.2.3;
59 fi
60 sudo make $PLATFORM install;
61fi
62
63cd $TRAVIS_BUILD_DIR
64
65LUAROCKS_BASE=luarocks-$LUAROCKS
66git clone https://github.com/keplerproject/luarocks.git $LUAROCKS_BASE
67cd $LUAROCKS_BASE
68git checkout v$LUAROCKS
69
70if [ "$LUA" == "luajit" ]; then
71 ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0;
72elif [ "$LUA" == "luajit2.0" ]; then
73 ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0;
74elif [ "$LUA" == "luajit2.1" ]; then
75 ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.1;
76else
77 ./configure;
78fi
79
80make build && sudo make install
81
82cd $TRAVIS_BUILD_DIR
83
84rm -rf $LUAROCKS_BASE
85
86if [ "$LUAJIT" == "yes" ]; then
87 rm -rf $LUAJIT_BASE;
88elif [ "$LUA" == "lua5.1" ]; then
89 rm -rf lua-5.1.5;
90elif [ "$LUA" == "lua5.2" ]; then
91 rm -rf lua-5.2.3;
92fi