Create test for protoc with tcmalloc (#5612)

* Add TC malloc kokoro test

* Update tcmalloc test
pull/5616/head
Hao Nguyen 6 years ago committed by GitHub
parent 7f42d6d0bc
commit 4f8a635679
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      kokoro/linux/cpp_tcmalloc/build.sh
  2. 5
      kokoro/linux/cpp_tcmalloc/continuous.cfg
  3. 5
      kokoro/linux/cpp_tcmalloc/presubmit.cfg
  4. 29
      kokoro/linux/dockerfile/test/cpp_tcmalloc/Dockerfile
  5. 9
      tests.sh

@ -0,0 +1,13 @@
#!/bin/bash
#
# Build file to set up and run tests
# Change to repo root
cd $(dirname $0)/../../..
export DOCKERHUB_ORGANIZATION=protobuftesting
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/cpp_tcmalloc
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh
export OUTPUT_DIR=testoutput
export TEST_SET="cpp_tcmalloc"
./kokoro/linux/build_and_run_docker.sh

@ -0,0 +1,5 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/cpp_tcmalloc/build.sh"
timeout_mins: 1440

@ -0,0 +1,5 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/cpp_tcmalloc/build.sh"
timeout_mins: 1440

@ -0,0 +1,29 @@
FROM debian:jessie
# Install dependencies. We start with the basic ones require to build protoc
# and the C++ build
RUN apt-get update && apt-get install -y \
autoconf \
autotools-dev \
build-essential \
bzip2 \
ccache \
curl \
gcc \
git \
libc6 \
libc6-dbg \
libc6-dev \
libgtest-dev \
libtool \
make \
parallel \
time \
wget \
&& apt-get clean
# Install dependencies for TC malloc
RUN apt-get install -y \
google-perftools \
libgoogle-perftools4 \
libgoogle-perftools-dev

@ -38,6 +38,15 @@ build_cpp() {
fi
}
build_cpp_tcmalloc() {
internal_build_cpp
./configure LIBS=-ltcmalloc && make clean && make \
PTHREAD_CFLAGS='-pthread -DGOOGLE_PROTOBUF_HEAP_CHECK_DRACONIAN' \
check
cd src
PPROF_PATH=/usr/bin/google-pprof HEAPCHECK=draconian ./protobuf-test
}
build_cpp_distcheck() {
# Initialize any submodules.
git submodule update --init --recursive

Loading…
Cancel
Save