Make running the tests like in travis-ci easier (#92)

* Move testing logic from travis.yml to tests-ci.sh script

This way we can share this logic between travis CI and other systems
like for example a docker container.

* Move logic to create a testing environment to tests-environment.sh

As with the logic to execute the tests, this way we can share this logic
with other systems to tests linuxdeployqt.

* Install Qt also in tests-environment.sh

No reason to keep it separate from the rest as far as I know

* Wait until the X server is up and running

Otherwise we get into a racy situation.

* Add Dockerfile to create a testing container

This container tries to emulate the environment we have in travis-ci,
this way we can test whatever is failing on the CI locally.
This commit is contained in:
Àlex Fiestas
2017-03-17 18:45:30 +01:00
committed by probonopd
parent 585f487180
commit 4c33c5ed97
4 changed files with 66 additions and 30 deletions
+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
set -x
source /opt/qt*/bin/qt*-env.sh
/opt/qt*/bin/qmake linuxdeployqt.pro
make -j2
mkdir -p linuxdeployqt.AppDir/usr/bin/
cp /usr/local/bin/patchelf linuxdeployqt.AppDir/usr/bin/
cp /usr/local/bin/appimagetool linuxdeployqt.AppDir/usr/bin/
find linuxdeployqt.AppDir/
export VERSION=continuous
cp ./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/usr/bin/
./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage
ls -lh
find *.AppDir
xpra start :99
export DISPLAY=:99
until xset -q
do
echo "Waiting for X server to start..."
sleep 1;
done
bash -e tests/tests.sh
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
set -e
sudo add-apt-repository --yes ppa:beineri/opt-qt58-trusty
sudo apt-get update -qq
git clone https://github.com/NixOS/patchelf.git
cd patchelf
bash ./bootstrap.sh
./configure
make -j2
sudo make install
cd -
sudo wget -c "https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool
sudo chmod a+x /usr/local/bin/appimagetool
sudo apt-get -y install qt58base qt58declarative qt58webengine binutils xpra