mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 18:20:26 +01:00
Merge branch 'poco-1.9.1' of https://github.com/pocoproject/poco.git into poco-1.9.1
This commit is contained in:
commit
499c573445
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -1,6 +1,8 @@
|
||||
[submodule "openssl"]
|
||||
path = openssl
|
||||
url = https://github.com/pocoproject/openssl
|
||||
branch = develop
|
||||
|
||||
[submodule "gradle"]
|
||||
path = gradle
|
||||
url = https://github.com/pocoproject/gradle
|
||||
|
93
.travis.yml
93
.travis.yml
@ -33,6 +33,99 @@ before_script:
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- env: TEST_NAME="android API level 19"
|
||||
language: android
|
||||
jdk: openjdk8
|
||||
android:
|
||||
components:
|
||||
- tools
|
||||
- platform-tools
|
||||
- tools
|
||||
- build-tools-23.0.3
|
||||
- extra-android-support
|
||||
- extra-android-m2repository
|
||||
- android-19
|
||||
- android-24
|
||||
- sys-img-armeabi-v7a-android-24
|
||||
# Unfortunaly travis use the old android sdk tool instead of using the new sdkmanager.
|
||||
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
|
||||
licenses:
|
||||
- '.+'
|
||||
before_install:
|
||||
- export TERM=dumb
|
||||
- sudo apt-get update -qq
|
||||
# I don't understand why redis and mongodb are not installed although services added above !
|
||||
- sudo apt-get install -qq -y mongodb-server redis-server
|
||||
- /usr/bin/redis-server &
|
||||
- sudo /usr/bin/mongod --config /etc/mongodb.conf &
|
||||
- touch ~/.android/repositories.cfg
|
||||
- mkdir -p /usr/local/android-sdk/licenses
|
||||
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
|
||||
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
|
||||
# Install NDK and cmake via android sdkmanager.
|
||||
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
|
||||
- /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" > /dev/null
|
||||
before_script:
|
||||
- export TERM=dumb
|
||||
- export _NO_CHECK_SIGNATURE=true
|
||||
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a"
|
||||
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
|
||||
- android-wait-for-emulator
|
||||
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
|
||||
script:
|
||||
# Mandatory cmake parameter to set API level and platform for the android toolchain:
|
||||
# /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-22
|
||||
# See also in /usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake
|
||||
|
||||
# Using the ninja build command. Is much faster then make build command.
|
||||
- mkdir cmake-build && cd cmake-build && /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-19 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DANDROID_STL="c++_static" -DANDROID_CPP_FEATURES="exceptions rtti" -DENABLE_TESTS=ON -DENABLE_LONG_RUNNING_TESTS=OFF -DOLD_REDIS_VERSION=ON .. && /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all && /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
|
||||
|
||||
- env: TEST_NAME="android API level 24"
|
||||
language: android
|
||||
jdk: openjdk8
|
||||
android:
|
||||
components:
|
||||
- tools
|
||||
- platform-tools
|
||||
- tools
|
||||
- build-tools-23.0.3
|
||||
- extra-android-support
|
||||
- extra-android-m2repository
|
||||
- android-24
|
||||
- sys-img-armeabi-v7a-android-24
|
||||
# Unfortunaly travis use the old android sdk tool instead of using the new sdkmanager.
|
||||
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
|
||||
licenses:
|
||||
- '.+'
|
||||
before_install:
|
||||
- export TERM=dumb
|
||||
- sudo apt-get update -qq
|
||||
# I don't understand why redis and mongodb are not installed although services added above !
|
||||
- sudo apt-get install -qq -y mongodb-server redis-server
|
||||
- /usr/bin/redis-server &
|
||||
- sudo /usr/bin/mongod --config /etc/mongodb.conf &
|
||||
- touch ~/.android/repositories.cfg
|
||||
- mkdir -p /usr/local/android-sdk/licenses
|
||||
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
|
||||
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
|
||||
# Install NDK and cmake via android sdkmanager.
|
||||
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
|
||||
- /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" > /dev/null
|
||||
before_script:
|
||||
- export TERM=dumb
|
||||
- export _NO_CHECK_SIGNATURE=true
|
||||
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a"
|
||||
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
|
||||
- android-wait-for-emulator
|
||||
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
|
||||
script:
|
||||
# Mandatory cmake parameter to set API level and platform for the android toolchain:
|
||||
# /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-22
|
||||
# See also in /usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake
|
||||
|
||||
# Using the ninja build command. Is much faster then make build command.
|
||||
- mkdir cmake-build && cd cmake-build && /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-24 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DANDROID_STL="c++_static" -DANDROID_CPP_FEATURES="exceptions rtti" -DENABLE_TESTS=ON -DENABLE_LONG_RUNNING_TESTS=OFF -DOLD_REDIS_VERSION=ON .. && /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all && /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
|
||||
|
||||
- env: TEST_NAME="gcc (make)"
|
||||
compiler: gcc
|
||||
script:
|
||||
|
@ -27,7 +27,7 @@ POCO_SOURCES_AUTO_PLAT( TEST_SRCS WINCE
|
||||
add_executable( ${TESTUNIT} ${TEST_SRCS} )
|
||||
if(ANDROID)
|
||||
add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/data;TestApp" -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/${TESTUNIT} -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/data;${CMAKE_BINARY_DIR}/bin/TestApp" -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/${TESTUNIT} -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
|
||||
else()
|
||||
add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} COMMAND ${TESTUNIT} -all)
|
||||
set_tests_properties(${LIBNAME} PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=.") # The SharedLibaryTest has to look for shared libraries in the working directory
|
||||
|
@ -204,9 +204,12 @@ CppUnit::Test* ClassLoaderTest::suite()
|
||||
{
|
||||
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ClassLoaderTest");
|
||||
|
||||
#if (POCO_OS != POCO_OS_ANDROID)
|
||||
// FIXME exclude from android build temporarly to fix the bug. See issue https://github.com/pocoproject/poco/issues/2209
|
||||
CppUnit_addTest(pSuite, ClassLoaderTest, testClassLoader1);
|
||||
CppUnit_addTest(pSuite, ClassLoaderTest, testClassLoader2);
|
||||
CppUnit_addTest(pSuite, ClassLoaderTest, testClassLoader3);
|
||||
#endif
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
|
@ -141,9 +141,12 @@ CppUnit::Test* SharedLibraryTest::suite()
|
||||
{
|
||||
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("SharedLibraryTest");
|
||||
|
||||
#if (POCO_OS != POCO_OS_ANDROID)
|
||||
// FIXME exclude from android build temporarly to fix the bug. See issue https://github.com/pocoproject/poco/issues/2209
|
||||
CppUnit_addTest(pSuite, SharedLibraryTest, testSharedLibrary1);
|
||||
CppUnit_addTest(pSuite, SharedLibraryTest, testSharedLibrary2);
|
||||
CppUnit_addTest(pSuite, SharedLibraryTest, testSharedLibrary3);
|
||||
#endif
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
|
@ -20,10 +20,6 @@ add_executable( ${TESTUNIT} ${TEST_SRCS} )
|
||||
if(ANDROID)
|
||||
add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/any.pem;${CMAKE_CURRENT_SOURCE_DIR}/rootcert.pem;${CMAKE_CURRENT_SOURCE_DIR}/testrunner.xml" -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/${TESTUNIT} -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
|
||||
add_custom_command(TARGET ${TESTUNIT} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DFILES="${CMAKE_CURRENT_SOURCE_DIR}/any.pem" -P ${CMAKE_SOURCE_DIR}/cmake/PushOnAndroid.cmake
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DFILES="${CMAKE_CURRENT_SOURCE_DIR}/rootcert.pem" -P ${CMAKE_SOURCE_DIR}/cmake/PushOnAndroid.cmake
|
||||
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DFILES="${CMAKE_CURRENT_SOURCE_DIR}/testrunner.xml" -P ${CMAKE_SOURCE_DIR}/cmake/PushOnAndroid.cmake)
|
||||
else()
|
||||
add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} COMMAND ${TESTUNIT} -all)
|
||||
# The test is run in the build directory. So the test data is copied there too
|
||||
|
Loading…
Reference in New Issue
Block a user