[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: language: cpp
- cpp
sudo: false sudo: false
os: os:
- linux - linux
- osx - osx
branches: branches:
only: only:
- master - master
- dev - dev
addons: addons:
apt: apt:
sources: sources:
- ubuntu-toolchain-r-test - ubuntu-toolchain-r-test
packages: packages:
- g++-4.9 - g++-4.9
env:
- CONF=debug BUILDER=clang
- CONF=debug BUILDER=gcc
matrix: matrix:
include: include:
- os: linux - os: linux
env: CONF=debug BUILDER=gcc GCOV=--gcov env: CONF=debug BUILDER=gcc GCOV=--gcov TARGET=-tLinux
- os: linux - os: linux
env: CONF=release BUILDER=clang env: CONF=release BUILDER=gcc TARGET=-tLinux TAG=Linux
- os: linux - os: linux
env: CONF=release BUILDER=gcc env: CONF=release BUILDER=clang TARGET=-tLinux
exclude: #- os: linux
- os: mingw # env: CONF=release BUILDER=gcc TARGET=-tWindows TAG=Mingw
env: CONF=debug BUILDER=clang - 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: install:
- pip install --user lutin - pip install --user lutin
before_script: before_script:
- cd .. - cd ..
- wget http://atria-soft.com/ci/coverage_send.py - wget http://atria-soft.com/ci/coverage_send.py
- wget http://atria-soft.com/ci/test_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/warning_send.py
- mkdir bin - wget http://atria-soft.com/ci/build_send.py
- curl https://storage.googleapis.com/git-repo-downloads/repo > bin/repo - mkdir bin
- chmod a+x bin/repo - curl https://storage.googleapis.com/git-repo-downloads/repo > bin/repo
- git config --global user.email "travis@travis.com" - chmod a+x bin/repo
- git config --global user.name "Travis" - git config --global user.email "travis@travis.com"
- git config --global color.ui "auto" - git config --global user.name "Travis"
- git config --global core.editor "vi" - git config --global color.ui "auto"
- mkdir WORKING_DIRECTORY - git config --global core.editor "vi"
- cd WORKING_DIRECTORY - mkdir WORKING_DIRECTORY
- ../bin/repo init -u https://github.com/atria-soft/manifest.git - cd WORKING_DIRECTORY
- ../bin/repo sync -j8 - ../bin/repo init -u https://github.com/atria-soft/manifest.git
- rm -rf atria-soft/ewol - ../bin/repo sync -j8
- cd .. - rm -rf atria-soft/ewol
- pwd - cd ..
- ls -l - pwd
- if [ "$BUILDER" == "gcc" ]; then - ls -l
COMPILATOR_OPTION="--compilator-version=4.9"; - if [ "$BUILDER" == "gcc" ]; then
else COMPILATOR_OPTION="--compilator-version=4.9";
COMPILATOR_OPTION=""; else
fi COMPILATOR_OPTION="";
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then fi
export PATH=$PATH:/Users/travis/Library/Python/2.7/bin/; - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
fi export PATH=$PATH:/Users/travis/Library/Python/2.7/bin/;
fi
- python ./build_send.py --tag=$TAG --status=START;
script: 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: after_script:
- if [ "$GCOV" != "" ]; then - if [ "$GCOV" != "" ]; then
python ./warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/ewol/; python ./warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/ewol/;
fi fi
- ./out/Linux_x86_64/$CONF/staging/$BUILDER/ewol-test/ewol-test.app/bin/ewol-test -l6 | tee out_test.txt - ./out/Linux_x86_64/$CONF/staging/$BUILDER/ewol-test/ewol-test.app/bin/ewol-test -l6 | tee out_test.txt
- if [ "$GCOV" != "" ]; then - if [ "$GCOV" != "" ]; then
python ./test_send.py --file=out_test.txt; python ./test_send.py --file=out_test.txt;
lutin -C -P -c $TARGET $BUILDER $COMPILATOR_OPTION -m $CONF -p ewol?gcov; 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; python ./coverage_send.py --json=out/Linux_x86_64/$CONF/build/$BUILDER/ewol/ewol_coverage.json;
fi fi
notifications: notifications:
email: email:
- yui.heero@gmail.com - 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) [![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) [![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) 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) [![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) [![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 Instructions
============ ============
@ -44,11 +58,10 @@ download the software:
repo sync -j8 repo sync -j8
Compile software and install: Compile software and test:
----------------------------- --------------------------
For this you might use a project that create binaries or something else ... lutin ewol-test 0XX_customwidget 001_HelloWord
Show http://github.com/HeeroYui/edn project
Dependency packages Dependency packages
=================== ===================

View File

@ -32,8 +32,10 @@ void ewol::Object::autoDestroy() {
} }
void ewol::Object::requestDestroyFromChild(const std::shared_ptr<ewol::Object>& _child) { 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(...)"); EWOL_CRITICAL("Call From Child with no effects ==> must implement : requestDestroyFromChild(...)");
} }
void ewol::Object::setParent(const std::shared_ptr<ewol::Object>& _newParent) { void ewol::Object::setParent(const std::shared_ptr<ewol::Object>& _newParent) {
// TODO : Implement change of parent ... // TODO : Implement change of parent ...
m_parent = _newParent; m_parent = _newParent;
@ -43,8 +45,6 @@ void ewol::Object::removeParent() {
m_parent.reset(); m_parent.reset();
} }
ewol::Object::Object() : ewol::Object::Object() :
m_objectHasBeenInit(false), m_objectHasBeenInit(false),
m_destroy(false), m_destroy(false),

View File

@ -104,23 +104,42 @@ namespace ewol {
return m_objectHasBeenInit; return m_objectHasBeenInit;
} }
protected: protected:
std::weak_ptr<Object> m_parent; std::weak_ptr<Object> m_parent; //!< Reference on the current parrent.
bool m_destroy; bool m_destroy; //!< Flag to jknow if the object is requesting has destroy.
protected: protected:
/** /**
* @brief Auto-destroy the object * @brief Auto-destroy the object
*/ */
void autoDestroy(); void autoDestroy();
public: public:
/**
* @brief Destroy the current object
*/
virtual void destroy() { virtual void destroy() {
autoDestroy(); 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 { bool isDestroyed() const {
return m_destroy; return m_destroy;
} }
public: 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); 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); virtual void setParent(const std::shared_ptr<Object>& _newParent);
/**
* @brief Remove the current parenting.
*/
virtual void removeParent(); virtual void removeParent();
private: private:
std::vector<const char*> m_listType; std::vector<const char*> m_listType;