[CI] test Ios

This commit is contained in:
Edouard DUPIN 2015-10-20 21:55:07 +02:00
parent cd2f2599b8
commit 04d60a7200
4 changed files with 110 additions and 75 deletions

View File

@ -1,87 +1,90 @@
language:
- cpp
language: cpp
sudo: false
os:
- linux
- osx
- linux
- osx
branches:
only:
- master
- dev
only:
- master
- dev
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- CONF=debug BUILDER=clang
- CONF=debug BUILDER=gcc
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
matrix:
include:
- os: linux
env: CONF=debug BUILDER=gcc GCOV=--gcov
- os: linux
env: CONF=release BUILDER=clang
- os: linux
env: CONF=release BUILDER=gcc
exclude:
- os: mingw
env: CONF=debug BUILDER=clang
include:
- os: linux
env: CONF=debug BUILDER=gcc GCOV=--gcov TARGET=-tLinux
- os: linux
env: CONF=release BUILDER=gcc TARGET=-tLinux TAG=Linux
- os: linux
env: CONF=release BUILDER=clang TARGET=-tLinux
#- os: linux
# env: CONF=release BUILDER=gcc TARGET=-tWindows TAG=Mingw
- os: osx
env: CONF=release BUILDER=clang TARGET=-tMacOs TAG=MacOs
- os: osx
env: CONF=release BUILDER=clang TARGET=-tIOs TAG=IOs
exclude:
- os: linux
- os: osx
install:
- pip install --user lutin
- pip install --user lutin
before_script:
- cd ..
- wget http://atria-soft.com/ci/coverage_send.py
- wget http://atria-soft.com/ci/test_send.py
- wget http://atria-soft.com/ci/warning_send.py
- mkdir bin
- curl https://storage.googleapis.com/git-repo-downloads/repo > bin/repo
- chmod a+x bin/repo
- git config --global user.email "travis@travis.com"
- git config --global user.name "Travis"
- git config --global color.ui "auto"
- git config --global core.editor "vi"
- mkdir WORKING_DIRECTORY
- cd WORKING_DIRECTORY
- ../bin/repo init -u https://github.com/atria-soft/manifest.git
- ../bin/repo sync -j8
- rm -rf atria-soft/ewol
- cd ..
- pwd
- ls -l
- if [ "$BUILDER" == "gcc" ]; then
COMPILATOR_OPTION="--compilator-version=4.9";
else
COMPILATOR_OPTION="";
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
export PATH=$PATH:/Users/travis/Library/Python/2.7/bin/;
fi
- cd ..
- wget http://atria-soft.com/ci/coverage_send.py
- wget http://atria-soft.com/ci/test_send.py
- wget http://atria-soft.com/ci/warning_send.py
- wget http://atria-soft.com/ci/build_send.py
- mkdir bin
- curl https://storage.googleapis.com/git-repo-downloads/repo > bin/repo
- chmod a+x bin/repo
- git config --global user.email "travis@travis.com"
- git config --global user.name "Travis"
- git config --global color.ui "auto"
- git config --global core.editor "vi"
- mkdir WORKING_DIRECTORY
- cd WORKING_DIRECTORY
- ../bin/repo init -u https://github.com/atria-soft/manifest.git
- ../bin/repo sync -j8
- rm -rf atria-soft/ewol
- cd ..
- pwd
- ls -l
- if [ "$BUILDER" == "gcc" ]; then
COMPILATOR_OPTION="--compilator-version=4.9";
else
COMPILATOR_OPTION="";
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
export PATH=$PATH:/Users/travis/Library/Python/2.7/bin/;
fi
- python ./build_send.py --tag=$TAG --status=START;
script:
- lutin -w -j4 -C -P -c $BUILDER $COMPILATOR_OPTION -m $CONF $GCOV ewol-test 0XX_customwidget 001_HelloWord
- lutin -w -j4 -C -P $TARGET -c $BUILDER $COMPILATOR_OPTION -m $CONF $GCOV ewol-test 0XX_customwidget 001_HelloWord; STATUS=$?
- python ./build_send.py --tag=$TAG --status="$STATUS";
after_script:
- if [ "$GCOV" != "" ]; then
python ./warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/ewol/;
fi
- ./out/Linux_x86_64/$CONF/staging/$BUILDER/ewol-test/ewol-test.app/bin/ewol-test -l6 | tee out_test.txt
- if [ "$GCOV" != "" ]; then
python ./test_send.py --file=out_test.txt;
lutin -C -P -c $TARGET $BUILDER $COMPILATOR_OPTION -m $CONF -p ewol?gcov;
python ./coverage_send.py --json=out/Linux_x86_64/$CONF/build/$BUILDER/ewol/ewol_coverage.json;
fi
- if [ "$GCOV" != "" ]; then
python ./warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/ewol/;
fi
- ./out/Linux_x86_64/$CONF/staging/$BUILDER/ewol-test/ewol-test.app/bin/ewol-test -l6 | tee out_test.txt
- if [ "$GCOV" != "" ]; then
python ./test_send.py --file=out_test.txt;
lutin -C -P $TARGET -c $BUILDER $COMPILATOR_OPTION -m $CONF -p ewol?gcov;
python ./coverage_send.py --json=out/Linux_x86_64/$CONF/build/$BUILDER/ewol/ewol_coverage.json;
fi
notifications:
email:
- yui.heero@gmail.com
email:
- yui.heero@gmail.com

View File

@ -11,6 +11,13 @@ Release (master)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/ewol.svg?branch=master)](http://atria-soft.com/ci/atria-soft/ewol)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/ewol.svg?branch=master)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=master&tag=Linux)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=master&tag=MacOs)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=master&tag=Mingw)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=master&tag=Android)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=master&tag=IOs)](http://atria-soft.com/ci/atria-soft/ewol)
Developement (dev)
------------------
@ -19,6 +26,13 @@ Developement (dev)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/ewol.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/ewol)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/ewol.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=dev&tag=Linux)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=dev&tag=MacOs)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=dev&tag=Mingw)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=dev&tag=Android)](http://atria-soft.com/ci/atria-soft/ewol)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ewol.svg?branch=dev&tag=IOs)](http://atria-soft.com/ci/atria-soft/ewol)
Instructions
============
@ -44,11 +58,10 @@ download the software:
repo sync -j8
Compile software and install:
-----------------------------
Compile software and test:
--------------------------
For this you might use a project that create binaries or something else ...
Show http://github.com/HeeroYui/edn project
lutin ewol-test 0XX_customwidget 001_HelloWord
Dependency packages
===================

View File

@ -32,8 +32,10 @@ void ewol::Object::autoDestroy() {
}
void ewol::Object::requestDestroyFromChild(const std::shared_ptr<ewol::Object>& _child) {
EWOL_INFO("requestDestroyFromChild(...) is called when an object reference as a parent have a child that request quto-destroy ...");
EWOL_CRITICAL("Call From Child with no effects ==> must implement : requestDestroyFromChild(...)");
}
void ewol::Object::setParent(const std::shared_ptr<ewol::Object>& _newParent) {
// TODO : Implement change of parent ...
m_parent = _newParent;
@ -43,8 +45,6 @@ void ewol::Object::removeParent() {
m_parent.reset();
}
ewol::Object::Object() :
m_objectHasBeenInit(false),
m_destroy(false),

View File

@ -104,23 +104,42 @@ namespace ewol {
return m_objectHasBeenInit;
}
protected:
std::weak_ptr<Object> m_parent;
bool m_destroy;
std::weak_ptr<Object> m_parent; //!< Reference on the current parrent.
bool m_destroy; //!< Flag to jknow if the object is requesting has destroy.
protected:
/**
* @brief Auto-destroy the object
*/
void autoDestroy();
public:
/**
* @brief Destroy the current object
*/
virtual void destroy() {
autoDestroy();
}
/**
* @brief Check if the current objetc his destroy (in removing)
* @return true The object is removed
* @return false The object is not removed
*/
bool isDestroyed() const {
return m_destroy;
}
public:
/**
* @brief Called by a whild that want to remove pointer of itself from the current list of his parrent
* @param[in] _child Object of the child that want to remove itself
*/
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
/**
* @brief Set the Object has new parrent.
* @param[in] _newParent Object that requesting the parenting
*/
virtual void setParent(const std::shared_ptr<Object>& _newParent);
/**
* @brief Remove the current parenting.
*/
virtual void removeParent();
private:
std::vector<const char*> m_listType;