1
0
mirror of https://github.com/lammertb/libhttp.git synced 2025-12-22 04:02:04 +03:00

added test run scripts

This commit is contained in:
Nick Hildebrant
2015-04-26 10:19:09 +02:00
parent f3d6d50fde
commit 85e02e34dc
10 changed files with 90 additions and 29 deletions

3
.gitignore vendored
View File

@@ -246,4 +246,5 @@ tags
##########################
## Travis Build Dir
##########################
.travis/build
.travis/lua

View File

@@ -5,8 +5,11 @@ compiler:
- gcc
- clang
script: make WITH_LUA=1 WITH_DEBUG=1 WITH_IPV6=1 WITH_WEBSOCKET=1
install: make WITH_LUA=1 WITH_DEBUG=1 WITH_IPV6=1 WITH_WEBSOCKET=1
before_install:
- bash .travis/setup_lua.sh
- bash .travis/install_rocks.sh
before_script:
- .travis/setup_lua.sh
- .travis/install_rocks.sh
script:
- .travis/run_ci_tests.sh

17
.travis/install_rocks.sh Normal file → Executable file
View File

@@ -1,13 +1,14 @@
#!/bin/bash
set -ev
set -e
source .travis/lua_env.sh
LUAROCKS=$TRAVIS_BUILD_DIR/build/lua/bin/luarocks
PATH=$($LUAROCKS path --bin):$PATH
LUA_PATH=$($LUAROCKS path --lr-path)
LUA_CPATH=$($LUAROCKS path --lr-cpath)
$LUAROCKS install lunitx
$LUAROCKS install lua-curl
# add any rocks required for ci_tests to this list
# lua-curl depends on a libcurl development package (i.e. libcurl4-openssl-dev)
ROCKS=(lunitx lua-curl)
for ROCK in ${ROCKS[*]}
do
$LUAROCKS install $ROCK
done

9
.travis/lua_env.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
set -ev
export LUAROCKS=.travis/lua/bin/luarocks
export PATH=$($LUAROCKS path --bin):$PATH
export LUA_PATH=$($LUAROCKS path --lr-path)
export LUA_CPATH=$($LUAROCKS path --lr-cpath)

0
.travis/platform.sh Normal file → Executable file
View File

19
.travis/run_ci_tests.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
set -ev
source .travis/lua_env.sh
CI_TEST_DIRS=$(ls -d test/ci_test*)
for DIR in $CI_TEST_DIRS
do
echo starting tests in $DIR
SCRIPTS=$(ls -f $DIR/*test*.lua)
for SCRIPT in $SCRIPTS
do
echo starting test script $SCRIPT
#lua $SCRIPT
done
done

43
.travis/setup_lua.sh Normal file → Executable file
View File

@@ -1,50 +1,61 @@
#! /bin/bash
set -e
set -ev
# this script installs a lua / luarocks environment in .travis/lua
# this is necessary because travis docker architecture (the fast way)
# does not permit sudo, and does not contain a useful lua installation
# After this script is finished, you can configure your environment to
# use it by sourcing lua_env.sh
source .travis/platform.sh
# The current versions when this script was written
LUA_VERSION=5.2.4
LUAROCKS_VERSION=2.2.2
# directory where this script is located
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
BUILD_DIR=${TRAVIS_BUILD_DIR:=$SCRIPT_DIR}/build
echo @BUILD_DIR = $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
# civetweb base dir
PROJECT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )
# fetch and unpack lua src
cd $SCRIPT_DIR
LUA_BASE=lua-$LUA_VERSION
rm -rf $LUA_BASE
curl http://www.lua.org/ftp/$LUA_BASE.tar.gz | tar zx
# build lua
cd $LUA_BASE
make $PLATFORM
make local
LUA_DIR=$BUILD_DIR/lua
# mv built lua install to target Lua dir
LUA_DIR=$SCRIPT_DIR/lua
rm -rf $LUA_DIR
mv install/ $LUA_DIR
mv $SCRIPT_DIR/$LUA_BASE/install $LUA_DIR
# add to path required by luarocks installer
export PATH=$LUA_DIR/bin:$PATH
cd $BUILD_DIR
# fetch and unpack luarocks
cd $SCRIPT_DIR
LUAROCKS_BASE=luarocks-$LUAROCKS_VERSION
rm -rf ${LUAROCKS_BASE}
LUAROCKS_URL=http://luarocks.org/releases/${LUAROCKS_BASE}.tar.gz
# -L because it's a 302 redirect
curl -L $LUAROCKS_URL | tar xzp
cd $LUAROCKS_BASE
# build luarocks
./configure --prefix=$LUA_DIR
make build
make build
make install
cd $BUILD_DIR
# cleanup source dirs
cd $SCRIPT_DIR
rm -rf $LUAROCKS_BASE
rm -rf $LUA_BASE
echo you need to run the following commands to setup the env vars
echo export PATH=\$\($LUA_DIR/bin/luarocks path --bin\):\$PATH
echo export LUA_PATH=\$\(${LUA_DIR}/bin/luarocks path --lr-path\)
echo export LUA_CPATH=\$\(${LUA_DIR}/bin/luarocks path --lr-cpath\)

BIN
civetweb_test Executable file

Binary file not shown.

View File

@@ -0,0 +1,8 @@
local lunit = require('lunitx')
local cURL = require("cURL")
_ENV = lunit.module('enhanced','seeall')
function test_success()
assert_true (true, 'tests work')
end

View File

@@ -0,0 +1,9 @@
local lunit = require('lunitx')
local cURL = require("cURL")
_ENV = lunit.module('enhanced','seeall')
function test_success_again()
assert_true (true, 'more tests work')
end