Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
64d90d6
Only install() PTHREAD_WIN files if it is enabled
Dec 17, 2019
b6dee8d
log4tango: Fix snprintf test
t-b Jan 9, 2020
4e732d4
Travis: Add testing with ubuntu 20.04 (aka focal)
t-b Jan 11, 2020
92586af
Fix interface name collission on MSC_VER = 1900
reszelaz Jan 13, 2020
82e5b07
Merge pull request #652 from t-b/add-testing-with-ubuntu-bionic-beaver
t-b Jan 17, 2020
3b1e111
Merge pull request #650 from t-b/fix-snprintf-detection
t-b Jan 17, 2020
aa9780e
Merge pull request #644 from softwareschneiderei/pthreads_win_optional
t-b Jan 18, 2020
5bcd47a
Expose docker daemon in CI containers
mliszcz Jun 15, 2019
1c1e205
Add new test runner and server start/stop scripts
mliszcz Jun 15, 2019
c243cb2
Enable new test runner script (9d6a727)
mliszcz Jun 15, 2019
445764a
Remove old scripts for running the tests
mliszcz Dec 15, 2019
7cd2351
Run tests in parallel in CI
mliszcz Dec 15, 2019
7ab4262
Update instructions how to run the tests
mliszcz Jun 16, 2019
7671bb1
Extract test fixture setup to a separate script
mliszcz Dec 15, 2019
ee64cec
Set number of parallel tests basing on CPU count
mliszcz Dec 19, 2019
6dc48da
Do not re-run the tests on a failure in CI
mliszcz Jan 20, 2020
0c13be4
Install Docker in Ubuntu 20.04 container in CI
mliszcz Jan 20, 2020
6329017
Add cpp_tango user to group owning docker socket
mliszcz Jan 22, 2020
890fd59
Enable Sonar and Coveralls integration in CI build
mliszcz Jan 22, 2020
34d034a
Merge pull request #640 from mliszcz/reset-database-and-ds-for-each-test
mliszcz Jan 22, 2020
7158749
CMakeLists.txt: Require C++11 and cmake 3.7
t-b Jan 11, 2020
c46ea53
cppapi/server/tango_config.h: Remove test for gcc >= 3.0
t-b Jan 11, 2020
ce2cdab
Remove HAS_UNIQUE_PTR
t-b Jan 11, 2020
6d494e5
Remove HAS_MAP_AT
t-b Jan 11, 2020
84b98e3
Remove HAS_OVERRIDE
t-b Jan 11, 2020
7483d74
Remove HAS_RVALUE
t-b Jan 11, 2020
fea8ade
Remove HAS_THREAD
t-b Jan 11, 2020
1273f94
Remove HAS_TYPE_TRAITS
t-b Jan 11, 2020
2c88f9c
Remove HAS_LAMBDA_FUNC
t-b Jan 11, 2020
94b3691
cppapi/server/tango_config.h: Map Tango_isnan always to std::isnan
t-b Jan 11, 2020
dd5232a
Prefer nullptr over Tango_nullptr
t-b Jan 11, 2020
ccf6d3b
Remove HAS_RANGE_BASE_FOR
t-b Jan 11, 2020
02b174c
Remove INIT_LIST
t-b Jan 11, 2020
03bccb9
Remove HAS_UNDERLYING
t-b Jan 11, 2020
893c56c
cppapi/server/tango_config.h: Map TANGO_NORETURN always to [[noreturn]]
t-b Jan 11, 2020
2b5f357
cppapi/server/tango_config.h: Remove #ifdef spaghetti used for C++11 …
t-b Jan 11, 2020
1cb8f1b
cppapi/client/ApiUtil.h: Remove unused _KillProc_ class
t-b Jan 20, 2020
69e5138
Travis: Install newer cmake on debian 8
t-b Jan 20, 2020
2858602
.travis: Remove testing for debian wheezy
t-b Jan 20, 2020
5424da3
cppapi/server/idl: Ignore unused-parameter for clang as well
t-b Jan 20, 2020
64dc2a7
cppapi/client/eventconsumer.h: Add missing override keywords
t-b Jan 20, 2020
33910b8
cppapi/server/tango.h: Simplify TANGO_UNUSED handling
t-b Jan 20, 2020
c15e1c4
cmake: Rework C++ compiler feature detection
t-b Jan 20, 2020
a52d8b6
CMakeLists.txt: Unify and add more version output on configuring
t-b Jan 21, 2020
9904f75
appveyor.yml: Remove support for old MSVC versions
t-b Jan 21, 2020
54adedc
Remove conditional code for _MSC_VER < 1900
t-b Jan 21, 2020
435aa9f
log4tango: Remove fallback code for old MSVC versions
t-b Jan 21, 2020
17abaed
cppapi/server/device.cpp: Remove compiler silencing return values
t-b Jan 21, 2020
81286b2
Merge pull request #653 from t-b/require-c++11-and-cmake-3.7
t-b Jan 22, 2020
85fbfd3
Merge pull request #654 from reszelaz/patch-1
t-b Jan 23, 2020
5251bee
Protect storing last attribute value with mutex
mliszcz Dec 16, 2019
8d4a1bb
Change mutex used for EventSupplier::detect_change
mliszcz Dec 16, 2019
ee262d4
Protect event subscription timestamps with mutex
mliszcz Dec 16, 2019
3bea45c
Simplify condition for enforcing change event
mliszcz Jan 23, 2020
ec89823
Merge pull request #641 from mliszcz/fix-511-crash-race-condition-eve…
mliszcz Jan 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 12 additions & 31 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ env:
matrix:
- OS_TYPE=llvm-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
- OS_TYPE=gcc-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
- OS_TYPE=ubuntu-20.04
- OS_TYPE=debian10
- OS_TYPE=debian10 USE_PCH=OFF RUN_TESTS=OFF
- OS_TYPE=debian10 CMAKE_BUILD_TYPE=Release
- OS_TYPE=debian9
- OS_TYPE=debian8 STOCK_CPPZMQ=OFF
- OS_TYPE=debian7
- OS_TYPE=debian8 SONAR_SCANNER=ON COVERALLS=ON STOCK_CPPZMQ=OFF

notifications:
email: false
Expand Down Expand Up @@ -50,49 +50,32 @@ before_install:

before_script:
- >
docker run
--rm
--name mysql_db
-e MYSQL_ROOT_PASSWORD=root
-e MYSQL_INITDB_SKIP_TZINFO=1
-d
tangocs/mysql:9.2.2
--sql-mode=""
--innodb=OFF
--default-storage-engine=MyISAM
- >
docker run
--rm
--name tango_cs
-e TANGO_HOST=127.0.0.1:10000
-e MYSQL_HOST=mysql_db:3306
-e MYSQL_USER=tango
-e MYSQL_PASSWORD=tango
-e MYSQL_DATABASE=tango
--link mysql_db:mysq_db
-d
tangocs/tango-cs:latest
- TANGO_HOST_IP=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tango_cs)
- TANGO_HOST=${TANGO_HOST_IP}:10000
- docker build --build-arg APP_UID=$(id -u) --build-arg APP_GID=$(id -g) -t cpp_tango .travis/${OS_TYPE}
docker build
--build-arg APP_UID=$(id -u)
--build-arg APP_GID=$(id -g)
-t cpp_tango
.travis/${OS_TYPE}
- >
docker run
--rm
--name cpp_tango
-e TANGO_HOST=${TANGO_HOST}
-e TANGO_HOST2=${TANGO_HOST_IP2}:10000
-e BINTRAY_USER_NAME=tango-ci
-e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY}
-e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN}
--link tango_cs
-v `pwd`:/home/tango/src
-v `pwd`/idl:/home/tango/idl
-v `pwd`/cppzmq:/home/tango/cppzmq
-v `pwd`/tango_admin:/home/tango/tango_admin
-v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake
-v `pwd`/build-wrapper-linux-x86:/home/tango/build-wrapper-linux-x86
-v /var/run/docker.sock:/var/run/docker.sock
-dit
cpp_tango
- >
docker exec -u root cpp_tango
groupadd -g $(grep docker /etc/group | awk -F ':' '{print $3}') dockerhost || true
- docker exec -u root cpp_tango usermod -a -G dockerhost tango || true
- .travis/install_tango_idl.sh
- (test ${STOCK_CPPZMQ} = "OFF" && .travis/install_cppzmq.sh) || true
#work around gcov ignored by sonar
Expand All @@ -118,5 +101,3 @@ deploy:

after-script:
- docker stop cpp_tango
- docker stop tango_cs
- docker stop mysql_db
14 changes: 14 additions & 0 deletions .travis/debian10/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,24 @@ RUN apt-get update && apt-get install -y \
omniidl \
python2

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian buster stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
22 changes: 20 additions & 2 deletions .travis/debian8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,38 @@ RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # Now archived
RUN apt-get update && apt-get install -y \
apt-utils \
build-essential \
cmake \
curl \
git \
lsb-release \
omniidl \
libomniorb4-dev \
libcos4-dev \
libomnithread3-dev \
libzmq3-dev
libzmq3-dev \
wget

RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
&& chmod +x /tmp/cmake-install.sh \
&& /tmp/cmake-install.sh --skip-license --exclude-subdir

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian jessie stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
14 changes: 14 additions & 0 deletions .travis/debian9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,24 @@ RUN apt-get update && apt-get install -y \
libomnithread3-dev \
libzmq3-dev

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
37 changes: 14 additions & 23 deletions .travis/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,20 @@ then
exit 0
fi

TEST_COMMAND="exec ctest --output-on-failure"
if [ $COVERALLS = "ON" ]
then
TEST_COMMAND="exec make coveralls"
fi
build_dir="/home/tango/src/build"

echo "PreTest"
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./pre_test.sh'
if [ $? -ne "0" ]
then
exit -1
fi
echo "Test"
echo "TEST_COMMAND=$TEST_COMMAND"
docker exec cpp_tango /bin/sh -c "cd /home/tango/src/build; $TEST_COMMAND"
if [ $? -ne "0" ]
then
exit -1
fi
function run_in_container {
docker exec \
-w "${build_dir}" \
-e CTEST_PARALLEL_LEVEL=$(nproc) \
-e CTEST_OUTPUT_ON_FAILURE=ON \
cpp_tango "$@"
}

echo "PostTest"
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./post_test.sh'
if [ $? -ne "0" ]
then
exit -1
set -e

if [[ "$COVERALLS" == "ON" ]]; then
run_in_container make coveralls
else
run_in_container ctest
fi
19 changes: 7 additions & 12 deletions .travis/debian7/Dockerfile → .travis/ubuntu-20.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
FROM debian/eol:wheezy
FROM ubuntu:focal

ARG APP_UID=2000

ARG APP_GID=2000

MAINTAINER TANGO Controls team <tango@esrf.fr>

RUN echo 'deb http://archive.debian.org/debian wheezy-backports main contrib' > /etc/apt/sources.list.d/backports.list

RUN echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf

RUN apt-get update && apt-get install -y \
apt-utils \
build-essential \
cmake \
curl \
git \
libcos4-dev \
libomniorb4-dev \
libomnithread3-dev \
libomnithread4-dev \
libzmq3-dev \
lsb-release \
omniidl \
procps \
wget

RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
&& chmod +x /tmp/cmake-install.sh \
&& /tmp/cmake-install.sh --skip-license --exclude-subdir
python2 \
docker.io

RUN groupadd -g "$APP_GID" tango

RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.7 FATAL_ERROR)

project(cppTango)

set(CXX_STANDARD_REQUIRED 11)

include(CTest)

option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF)
Expand Down Expand Up @@ -29,7 +31,6 @@ endif()
set(LIBRARY_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
set(SO_VERSION "${MAJOR_VERSION}")

message("System TANGO_HOST=$ENV{TANGO_HOST}")
set(TANGO_HOST $ENV{TANGO_HOST})
include(configure/CMakeLists.txt)

Expand Down
Loading