blob: 22ff83a38d9eff7418cde3081e84a56b250b8c88 [file] [log] [blame]
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
CROS_WORKON_COMMIT="0dc7af52761bb5beb37809c19af6baae1f277f6d"
CROS_WORKON_TREE="e4980b24f771d0d116c33cad5e40f93c4a8b4229"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_USE_VCSID=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
PLATFORM_SUBDIR="chromiumos-wide-profiling"
inherit cros-workon platform
DESCRIPTION="quipper: chromiumos wide profiling"
HOMEPAGE="http://www.chromium.org/chromium-os/profiling-in-chromeos"
TEST_DATA_SOURCE="quipper-20151030-pb_data.tar.gz"
SRC_URI="gs://chromeos-localmirror/distfiles/${TEST_DATA_SOURCE}"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="test"
RDEPEND="
>=dev-libs/glib-2.30
dev-util/perf
"
DEPEND="${RDEPEND}
chromeos-base/protofiles
test? (
app-shells/dash
dev-cpp/gmock
)
dev-cpp/gtest
"
src_unpack() {
platform_src_unpack
pushd "${S}" >/dev/null
unpack ${TEST_DATA_SOURCE}
popd >/dev/null
}
src_compile() {
# ARM tests run on qemu which is much slower. Exclude some large test
# data files for non-x86 boards.
if use x86 || use amd64 ; then
append-cppflags -DTEST_LARGE_PERF_DATA
fi
platform_src_compile
}
src_install() {
dobin "${OUT}"/quipper
}
platform_pkg_test() {
local tests=(
address_mapper_test
buffer_reader_test
buffer_writer_test
conversion_utils_test
file_reader_test
perf_option_parser_test
perf_parser_test
perf_reader_test
perf_recorder_test
perf_serializer_test
perf_stat_parser_test
run_command_test
sample_info_reader_test
scoped_temp_path_test
utils_test
)
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}" "1"
done
# Test external makefile build.
emake -f Makefile.external CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
PKG_CONFIG="$(tc-getPKG_CONFIG)"
}