You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Drone build
run unittests
This commit is contained in:
committed by
Leonid Fedorov
parent
73e710ed52
commit
f584e90718
@ -29,7 +29,7 @@ local builddir = 'verylongdirnameforverystrangecpackbehavior';
|
||||
local cmakeflags = '-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPLUGIN_COLUMNSTORE=YES -DPLUGIN_XPAND=NO -DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO ' +
|
||||
'-DPLUGIN_TOKUDB=NO -DPLUGIN_CONNECT=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_SPHINX=NO ' +
|
||||
'-DWITH_EMBEDDED_SERVER=OFF -DWITH_WSREP=OFF ' +
|
||||
'-DBUILD_CONFIG=mysql_release';
|
||||
'-DBUILD_CONFIG=mysql_release -DWITH_UNITTESTS=YES';
|
||||
|
||||
local rpm_build_deps = 'install -y lz4 systemd-devel git make gcc gcc-c++ libaio-devel openssl-devel boost-devel bison snappy-devel flex libcurl-devel libxml2-devel ncurses-devel automake libtool policycoreutils-devel rpm-build lsof iproute pam-devel perl-DBI cracklib-devel expect createrepo';
|
||||
|
||||
@ -37,7 +37,6 @@ local deb_build_deps = 'apt update && apt install --yes --no-install-recommends
|
||||
'&& mk-build-deps debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends" -r -i';
|
||||
|
||||
local platformMap(platform) =
|
||||
|
||||
local platform_map = {
|
||||
'opensuse/leap:15': 'zypper ' + rpm_build_deps + ' liblz4-devel cmake libboost_system-devel libboost_filesystem-devel libboost_thread-devel libboost_regex-devel libboost_date_time-devel libboost_chrono-devel libboost_atomic-devel gcc-fortran && cmake ' + cmakeflags + ' -DRPM=sles15 && make -j$(nproc) package',
|
||||
'centos:7': 'yum install -y epel-release && yum install -y cmake3 && ln -s /usr/bin/cmake3 /usr/bin/cmake && yum ' + rpm_build_deps + ' lz4-devel && cmake ' + cmakeflags + ' -DRPM=centos7 && make -j$(nproc) package',
|
||||
@ -46,9 +45,33 @@ local platformMap(platform) =
|
||||
'ubuntu:18.04': deb_build_deps + " && CMAKEFLAGS='" + cmakeflags + " -DDEB=bionic' debian/autobake-deb.sh",
|
||||
'ubuntu:20.04': deb_build_deps + " && CMAKEFLAGS='" + cmakeflags + " -DDEB=focal' debian/autobake-deb.sh",
|
||||
};
|
||||
|
||||
platform_map[platform];
|
||||
|
||||
|
||||
local testRun(platform) =
|
||||
local platform_map = {
|
||||
'opensuse/leap:15': 'ctest -R columnstore: -j $(nproc) --output-on-failure',
|
||||
'centos:7': 'ctest3 -R columnstore: -j $(nproc) --output-on-failure',
|
||||
'centos:8': 'ctest3 -R columnstore: -j $(nproc) --output-on-failure',
|
||||
'debian:10': 'cd builddir; ctest -R columnstore: -j $(nproc) --output-on-failure',
|
||||
'ubuntu:18.04': 'cd builddir; ctest -R columnstore: -j $(nproc) --output-on-failure',
|
||||
'ubuntu:20.04': 'cd builddir; ctest -R columnstore: -j $(nproc) --output-on-failure',
|
||||
};
|
||||
platform_map[platform];
|
||||
|
||||
|
||||
local testPreparation(platform) =
|
||||
local platform_map = {
|
||||
'opensuse/leap:15': 'zypper install -y gtest boost-devel libboost_system-devel libboost_filesystem-devel libboost_thread-devel libboost_regex-devel libboost_date_time-devel libboost_chrono-devel libboost_atomic-devel cppunit-devel snappy-devel cmake',
|
||||
'centos:7': 'yum -y install epel-release && yum install -y gtest-devel cppunit-devel cmake3 boost-devel snappy-devel',
|
||||
'centos:8': 'yum install -y dnf-plugins-core libarchive && yum config-manager --set-enabled powertools && yum install -y lz4 gtest-devel cppunit-devel cmake3 boost-devel snappy-devel',
|
||||
'debian:10': 'apt update && apt install --yes libboost-all-dev libgtest-dev libcppunit-dev libsnappy-dev googletest cmake',
|
||||
'ubuntu:18.04': 'apt update && apt install --yes libboost-all-dev libgtest-dev libcppunit-dev googletest libsnappy-dev cmake g++ && cd /usr/src/googletest; cmake . && cmake --build . --target install; cd -' ,
|
||||
'ubuntu:20.04': 'apt update && apt install --yes libboost-all-dev libgtest-dev libcppunit-dev googletest libsnappy-dev cmake',
|
||||
};
|
||||
platform_map[platform];
|
||||
|
||||
|
||||
local Pipeline(branch, platform, event, arch='amd64') = {
|
||||
local pkg_format = if (std.split(platform, ':')[0] == 'centos' || std.split(platform, ':')[0] == 'opensuse/leap') then 'rpm' else 'deb',
|
||||
local init = if (pkg_format == 'rpm') then '/usr/lib/systemd/systemd' else 'systemd',
|
||||
@ -357,10 +380,24 @@ local Pipeline(branch, platform, event, arch='amd64') = {
|
||||
// "sed -i 's/BETA/GAMMA/' storage/columnstore/CMakeLists.txt",
|
||||
// Workaround till upstream removes 4535 workaround (workaround for workaround!)
|
||||
"sed -i '/MCOL-4535/,/^$/d' debian/autobake-deb.sh",
|
||||
testPreparation(platform),
|
||||
platformMap(platform),
|
||||
if (pkg_format == 'rpm') then 'createrepo .' else 'dpkg-scanpackages ../ | gzip > ../Packages.gz',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'unittests',
|
||||
image: platform,
|
||||
volumes: [pipeline._volumes.mdb],
|
||||
environment: {
|
||||
DEBIAN_FRONTEND: 'noninteractive',
|
||||
},
|
||||
commands: [
|
||||
'cd /mdb/' + builddir,
|
||||
testPreparation(platform),
|
||||
testRun(platform)
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'list pkgs',
|
||||
image: 'docker:git',
|
||||
|
@ -1,63 +1,43 @@
|
||||
include_directories( ${ENGINE_COMMON_INCLUDES} )
|
||||
|
||||
if (WITH_UNITTESTS)
|
||||
enable_testing()
|
||||
include(GoogleTest)
|
||||
find_package(GTest REQUIRED)
|
||||
|
||||
enable_testing()
|
||||
include(GoogleTest)
|
||||
find_package(GTest REQUIRED)
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_ROWGROUP_UT)
|
||||
#GoogleTest tests
|
||||
add_executable(rowgroup_tests rowgroup-tests.cpp)
|
||||
target_link_libraries(rowgroup_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS})
|
||||
# target_include_directories(rowgroup_tests ${GTEST_INCLUDE_DIR})
|
||||
install(TARGETS rowgroup_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(rowgroup_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_ARITHMETICOPERATOR_UT)
|
||||
add_executable(arithmeticoperator_tests arithmeticoperator-tests.cpp)
|
||||
target_link_libraries(arithmeticoperator_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS})
|
||||
install(TARGETS arithmeticoperator_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(arithmeticoperator_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_CSDECIMAL_UT)
|
||||
add_executable(mcs_decimal_tests mcs_decimal-tests.cpp)
|
||||
target_link_libraries(mcs_decimal_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS})
|
||||
install(TARGETS mcs_decimal_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(mcs_decimal_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_DATACONVERT_UT)
|
||||
add_executable(dataconvert_tests dataconvert-tests.cpp)
|
||||
target_link_libraries(dataconvert_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${ENGINE_EXEC_LIBS} ${MARIADB_CLIENT_LIBS})
|
||||
install(TARGETS dataconvert_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(dataconvert_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_SORTING_COMPARATORS_UT)
|
||||
add_executable(comparators_tests comparators-tests.cpp)
|
||||
target_link_libraries(comparators_tests ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${CPPUNIT_LIBRARIES} cppunit)
|
||||
install(TARGETS comparators_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(comparators_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
add_executable(rebuild_em_tests rebuild-em-tests.cpp)
|
||||
target_link_libraries(rebuild_em_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS})
|
||||
gtest_discover_tests(rebuild_em_tests TEST_PREFIX columnstore:)
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_SHARED_COMP_TESTS)
|
||||
add_executable(compression_tests compression-tests.cpp)
|
||||
target_link_libraries(compression_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS})
|
||||
gtest_discover_tests(compression_tests TEST_PREFIX columnstore:)
|
||||
|
||||
# CPPUNIT TESTS
|
||||
add_executable(we_shared_components_tests shared_components_tests.cpp)
|
||||
add_dependencies(we_shared_components_tests loggingcpp)
|
||||
target_link_libraries(we_shared_components_tests ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} cppunit)
|
||||
install(TARGETS we_shared_components_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
endif()
|
||||
#Fix Test and uncomment
|
||||
#add_test(NAME columnstore:we_shared_components_tests, COMMAND we_shared_components_tests)
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_REBUILD_EM_UT)
|
||||
add_executable(rebuild_em_tests rebuild-em-tests.cpp)
|
||||
target_link_libraries(rebuild_em_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS})
|
||||
install(TARGETS rebuild_em_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(rebuild_em_tests TEST_PREFIX columnstore:)
|
||||
endif()
|
||||
|
||||
if (WITH_UNITTESTS OR WITH_COMPRESSION_UT)
|
||||
add_executable(compression_tests compression-tests.cpp)
|
||||
target_link_libraries(compression_tests ${ENGINE_LDFLAGS} ${GTEST_LIBRARIES} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS})
|
||||
install(TARGETS compression_tests DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||
gtest_discover_tests(compression_tests TEST_PREFIX columnstore:)
|
||||
add_executable(comparators_tests comparators-tests.cpp)
|
||||
target_link_libraries(comparators_tests ${ENGINE_LDFLAGS} ${MARIADB_CLIENT_LIBS} ${ENGINE_WRITE_LIBS} ${CPPUNIT_LIBRARIES} cppunit)
|
||||
add_test(NAME columnstore:comparators_tests, COMMAND comparators_tests)
|
||||
endif()
|
||||
|
@ -406,6 +406,7 @@ private:
|
||||
|
||||
void INT_TEST()
|
||||
{
|
||||
#ifdef __x86_64__
|
||||
//bool generateValues = true;
|
||||
bool fixedValues = false;
|
||||
testComparatorWithDT(execplan::CalpontSystemCatalog::UTINYINT, 1, fixedValues, 20);
|
||||
@ -424,6 +425,10 @@ private:
|
||||
testComparatorWithDT(execplan::CalpontSystemCatalog::FLOAT, 4, fixedValues, 20);
|
||||
testComparatorWithDT(execplan::CalpontSystemCatalog::DOUBLE, 8, fixedValues, 20);
|
||||
testComparatorWithDT(execplan::CalpontSystemCatalog::LONGDOUBLE, 8, fixedValues, 20);
|
||||
#elif __arm__
|
||||
// TODO: add arm tests
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void FLOAT_TEST()
|
||||
|
Reference in New Issue
Block a user