Unverified Commit 80928f8e authored by yiwu-arbug's avatar yiwu-arbug Committed by GitHub

travis: update environment and enable compression (#191)

Update travis script to enable compression in tests. needed by #189

Also exclude NoSpaceLeft test from travis.
Signed-off-by: 's avatarYi Wu <yiwu@pingcap.com>
parent 46b3a5e4
dist: bionic
dist: focal
language: cpp
os:
- linux
- osx
os: linux
compiler: clang
osx_image: xcode11.2
osx_image: xcode12.2
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-7
packages:
- g++-7
- clang-format-10
- g++-9
- libgflags-dev
- liblz4-dev
- libsnappy-dev
- libzstd-dev
- lcov
- clang-format-7
- zlib1g
env:
- BUILD_TYPE="Release"
......@@ -38,13 +37,15 @@ matrix:
- os: linux
compiler:
env:
- COMPILER=gcc7
- COMPILER=gcc9
- os: osx
env:
- SANITIZER="ASAN"
- os: linux
compiler:
env:
- FORMATTER=ON
install:
# osx dependencies
- if [ "${TRAVIS_OS_NAME}" == osx ]; then
......@@ -58,9 +59,9 @@ install:
done
fi
- export CTEST_OUTPUT_ON_FAILURE=1
- if [ "${COMPILER}" == gcc7 ]; then
CC=gcc-7;
CXX=g++-7;
- if [ "${COMPILER}" == gcc9 ]; then
CC=gcc-9;
CXX=g++-9;
export COVERAGE_OPT="-DCODE_COVERAGE=ON";
fi
- if [ ! -z "${BUILD_TYPE}" ]; then
......@@ -72,6 +73,7 @@ install:
export SANITIZER_OPT="-DWITH_${SANITIZER}=ON";
export TOOLS_OPT="-DWITH_TITAN_TOOLS=OFF";
fi
- export COMPRESSION_OPT="-DWITH_SNAPPY=ON -DWITH_LZ4=ON -DWITH_ZLIB=ON -DWITH_ZSTD=ON"
script:
- if [ -z "${FORMATTER}" ]; then
......@@ -81,7 +83,7 @@ script:
fi
after_success:
- if [ "${COMPILER}" == gcc7 ]; then
- if [ "${COMPILER}" == gcc9 ]; then
lcov --gcov-tool gcov-7 --directory . --capture --output-file coverage.info;
lcov --remove coverage.info '/usr/*' --output-file coverage.info;
lcov --list coverage.info;
......
......@@ -27,7 +27,8 @@ if (NOT DEFINED ROCKSDB_DIR)
message(FATAL_ERROR "ROCKSDB_DIR is not defined.")
endif()
list(APPEND CMAKE_MODULE_PATH "${ROCKSDB_DIR}/cmake/modules/")
set(CMAKE_MODULE_PATH "${ROCKSDB_DIR}/cmake/modules/")
# list(APPEND CMAKE_MODULE_PATH "${ROCKSDB_DIR}/cmake/modules/")
include(cmake/rocksdb_flags.cmake)
include_directories(${ROCKSDB_DIR})
......@@ -68,6 +69,10 @@ add_library(titan_build_version OBJECT ${TITAN_BUILD_VERSION_CC})
target_include_directories(titan_build_version PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/util)
if (TRAVIS)
add_definitions(-DTRAVIS)
endif()
if (CODE_COVERAGE)
target_compile_options(titan PRIVATE "--coverage")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
......
......@@ -3,7 +3,7 @@
set -ev
git fetch --depth=1 origin master:master;
git diff $(git merge-base master HEAD) HEAD > diff;
cat diff | clang-format-diff-7 -style=google -p1 > formatted;
cat diff | clang-format-diff-10 -style=google -p1 > formatted;
if [ -s formatted ]; then
cat formatted;
echo "Run scripts/format-diff.sh to format your code.";
......
#!/bin/bash
set -ev
cmake . -L -DTRAVIS=ON ${BUILD_OPT} ${SANITIZER_OPT} ${TOOLS_OPT} ${COVERAGE_OPT}
cmake . -L -DTRAVIS=ON ${COMPRESSION_OPT} ${BUILD_OPT} ${SANITIZER_OPT} ${TOOLS_OPT} ${COVERAGE_OPT}
make -j4
ctest -R titan
......@@ -99,8 +99,10 @@ std::string CreateDict() {
BlobEncoder encoder(kZSTD);
for (int i = 0; i < sample_count; ++i) {
record.key = "key" + std::to_string(i);
record.value = "value" + std::to_string(i);
std::string key = "key" + std::to_string(i);
std::string value = "value" + std::to_string(i);
record.key = Slice(key);
record.value = Slice(value);
encoder.EncodeRecord(record);
std::string encoded_record = encoder.GetRecord().ToString();
......
......@@ -1951,8 +1951,8 @@ TEST_F(TitanDBTest, Config) {
Close();
}
#if defined(__linux) && !defined(TRAVIS)
TEST_F(TitanDBTest, NoSpaceLeft) {
#if defined(__linux)
options_.disable_background_gc = false;
system(("mkdir -p " + dbname_).c_str());
system(("sudo mount -t tmpfs -o size=1m tmpfs " + dbname_).c_str());
......@@ -1967,8 +1967,8 @@ TEST_F(TitanDBTest, NoSpaceLeft) {
Close();
system(("sudo umount -l " + dbname_).c_str());
#endif
}
#endif
} // namespace titandb
} // namespace rocksdb
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment