diff options
-rw-r--r-- | .travis.yml | 32 | ||||
-rw-r--r-- | .travis/platform.sh | 15 | ||||
-rw-r--r-- | .travis/setup_lua.sh | 92 |
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 @@ | |||
1 | language: c | ||
2 | |||
3 | env: | ||
4 | global: | ||
5 | - LUAROCKS=2.2.0-rc1 | ||
6 | matrix: | ||
7 | - LUA=lua5.1 | ||
8 | - LUA=lua5.2 | ||
9 | - LUA=luajit | ||
10 | |||
11 | branches: | ||
12 | only: | ||
13 | - master | ||
14 | |||
15 | before_install: | ||
16 | - bash .travis/setup_lua.sh | ||
17 | - sudo pip install cpp-coveralls | ||
18 | |||
19 | install: | ||
20 | - sudo luarocks make rockspecs/luafilesystem-cvs-2.rockspec CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="-shared --coverage" | ||
21 | |||
22 | script: | ||
23 | - cd tests | ||
24 | - sudo lua test.lua | ||
25 | |||
26 | after_success: | ||
27 | - coveralls -b .. -r .. | ||
28 | |||
29 | notifications: | ||
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 @@ | |||
1 | if [ -z "$PLATFORM" ]; then | ||
2 | PLATFORM=$TRAVIS_OS_NAME; | ||
3 | fi | ||
4 | |||
5 | if [ "$PLATFORM" == "osx" ]; then | ||
6 | PLATFORM="macosx"; | ||
7 | fi | ||
8 | |||
9 | if [ -z "$PLATFORM" ]; then | ||
10 | if [ "$(uname)" == "Linux" ]; then | ||
11 | PLATFORM="linux"; | ||
12 | else | ||
13 | PLATFORM="macosx"; | ||
14 | fi; | ||
15 | fi | ||
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 | |||
9 | LUAJIT_BASE="LuaJIT-2.0.3" | ||
10 | |||
11 | source .travis/platform.sh | ||
12 | |||
13 | LUAJIT="no" | ||
14 | |||
15 | if [ "$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; | ||
25 | elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then | ||
26 | LUAJIT="yes"; | ||
27 | fi | ||
28 | |||
29 | if [ "$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 | |||
52 | else | ||
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; | ||
61 | fi | ||
62 | |||
63 | cd $TRAVIS_BUILD_DIR | ||
64 | |||
65 | LUAROCKS_BASE=luarocks-$LUAROCKS | ||
66 | git clone https://github.com/keplerproject/luarocks.git $LUAROCKS_BASE | ||
67 | cd $LUAROCKS_BASE | ||
68 | git checkout v$LUAROCKS | ||
69 | |||
70 | if [ "$LUA" == "luajit" ]; then | ||
71 | ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0; | ||
72 | elif [ "$LUA" == "luajit2.0" ]; then | ||
73 | ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0; | ||
74 | elif [ "$LUA" == "luajit2.1" ]; then | ||
75 | ./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.1; | ||
76 | else | ||
77 | ./configure; | ||
78 | fi | ||
79 | |||
80 | make build && sudo make install | ||
81 | |||
82 | cd $TRAVIS_BUILD_DIR | ||
83 | |||
84 | rm -rf $LUAROCKS_BASE | ||
85 | |||
86 | if [ "$LUAJIT" == "yes" ]; then | ||
87 | rm -rf $LUAJIT_BASE; | ||
88 | elif [ "$LUA" == "lua5.1" ]; then | ||
89 | rm -rf lua-5.1.5; | ||
90 | elif [ "$LUA" == "lua5.2" ]; then | ||
91 | rm -rf lua-5.2.3; | ||
92 | fi | ||