diff options
Diffstat (limited to 'patches.tizen/0389-perf-tools-Add-automated-make-test-suite.patch')
-rw-r--r-- | patches.tizen/0389-perf-tools-Add-automated-make-test-suite.patch | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/patches.tizen/0389-perf-tools-Add-automated-make-test-suite.patch b/patches.tizen/0389-perf-tools-Add-automated-make-test-suite.patch new file mode 100644 index 00000000000..30c5332c773 --- /dev/null +++ b/patches.tizen/0389-perf-tools-Add-automated-make-test-suite.patch @@ -0,0 +1,203 @@ +From ae4c6bc77dd6195b060d53ded22d967a217bb39f Mon Sep 17 00:00:00 2001 +From: Jiri Olsa <jolsa@redhat.com> +Date: Fri, 29 Mar 2013 16:11:02 +0100 +Subject: [PATCH 0389/1302] perf tools: Add automated make test suite + +Adding automated test for testing the build process. + +To run it you need to be in perf directory or specify one with PERF +variable. It's also possible to specify optional Makefile to test via MK +variable. + +Whole suite is executed twice, the second time with O=/tmp/xxx option +added. + +To run the whole suite: + $ make -f tests/make + - make_pure: cd . && make -f Makefile + test: test -x ./perf + - make_clean_all: cd . && make -f Makefile clean all + test: test -x ./perf + - make_python_perf_so: cd . && make -f Makefile python/perf.so + test: test -f ./python/perf.so + - make_debug: cd . && make -f Makefile DEBUG=1 + test: test -x ./perf + - make_no_libperl: cd . && make -f Makefile NO_LIBPERL=1 + test: test -x ./perf + +You see command line for 'make_pure' test right away, and the output is +stored into 'make_pure' file. + +To run simple test: + $ make -f tests/make make_debug + - make_debug: cd . && make -f Makefile DEBUG=1 + test: test -x ./perf + +At this moment tests checks for successfull build and for existence of +several built files. Additional after-build checks could be added. + +Signed-off-by: Jiri Olsa <jolsa@redhat.com> +Cc: Borislav Petkov <bp@alien8.de> +Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> +Cc: Frederic Weisbecker <fweisbec@gmail.com> +Cc: Ingo Molnar <mingo@elte.hu> +Cc: Namhyung Kim <namhyung@kernel.org> +Cc: Paul Mackerras <paulus@samba.org> +Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> +Cc: Sam Ravnborg <sam@ravnborg.org> +Cc: Stephane Eranian <eranian@google.com> +Link: http://lkml.kernel.org/r/1369398928-9809-2-git-send-email-jolsa@redhat.com +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> +Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> +--- + tools/perf/tests/make | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 138 insertions(+) + create mode 100644 tools/perf/tests/make + +diff --git a/tools/perf/tests/make b/tools/perf/tests/make +new file mode 100644 +index 0000000..c441a28 +--- /dev/null ++++ b/tools/perf/tests/make +@@ -0,0 +1,138 @@ ++PERF := . ++MK := Makefile ++ ++# standard single make variable specified ++make_clean_all := clean all ++make_python_perf_so := python/perf.so ++make_debug := DEBUG=1 ++make_no_libperl := NO_LIBPERL=1 ++make_no_libpython := NO_LIBPYTHON=1 ++make_no_scripts := NO_LIBPYTHON=1 NO_LIBPERL=1 ++make_no_newt := NO_NEWT=1 ++make_no_slang := NO_SLANG=1 ++make_no_gtk2 := NO_GTK2=1 ++make_no_ui := NO_NEWT=1 NO_SLANG=1 NO_GTK2=1 ++make_no_demangle := NO_DEMANGLE=1 ++make_no_libelf := NO_LIBELF=1 ++make_no_libunwind := NO_LIBUNWIND=1 ++make_no_backtrace := NO_BACKTRACE=1 ++make_no_libnuma := NO_LIBNUMA=1 ++make_no_libaudit := NO_LIBAUDIT=1 ++make_no_libbionic := NO_LIBBIONIC=1 ++make_tags := tags ++make_cscope := cscope ++make_help := help ++make_doc := doc ++make_perf_o := perf.o ++make_util_map_o := util/map.o ++ ++# all the NO_* variable combined ++make_minimal := NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 ++make_minimal += NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 ++make_minimal += NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 ++ ++# $(run) contains all available tests ++run := make_pure ++run += make_clean_all ++run += make_python_perf_so ++run += make_debug ++run += make_no_libperl ++run += make_no_libpython ++run += make_no_scripts ++run += make_no_newt ++run += make_no_slang ++run += make_no_gtk2 ++run += make_no_ui ++run += make_no_demangle ++run += make_no_libelf ++run += make_no_libunwind ++run += make_no_backtrace ++run += make_no_libnuma ++run += make_no_libaudit ++run += make_no_libbionic ++run += make_tags ++run += make_cscope ++run += make_help ++run += make_doc ++run += make_perf_o ++run += make_util_map_o ++run += make_minimal ++ ++# $(run_O) contains same portion of $(run) tests with '_O' attached ++# to distinguish O=... tests ++run_O := $(addsuffix _O,$(run)) ++ ++# disable some tests for O=... ++run_O := $(filter-out make_python_perf_so_O,$(run_O)) ++ ++# define test for each compile as 'test_NAME' variable ++# with the test itself as a value ++test_make_tags = test -f tags ++test_make_cscope = test -f cscope.out ++ ++test_make_tags_O := $(test_make_tags) ++test_make_cscope_O := $(test_make_cscope) ++ ++test_ok := true ++test_make_help := $(test_ok) ++test_make_doc := $(test_ok) ++test_make_help_O := $(test_ok) ++test_make_doc_O := $(test_ok) ++ ++test_make_python_perf_so := test -f $(PERF)/python/perf.so ++ ++test_make_perf_o := test -f $(PERF)/perf.o ++test_make_util_map_o := test -f $(PERF)/util/map.o ++ ++# Kbuild tests only ++#test_make_python_perf_so_O := test -f $$TMP/tools/perf/python/perf.so ++#test_make_perf_o_O := test -f $$TMP/tools/perf/perf.o ++#test_make_util_map_o_O := test -f $$TMP/tools/perf/util/map.o ++ ++test_make_perf_o_O := true ++test_make_util_map_o_O := true ++ ++test_default = test -x $(PERF)/perf ++test = $(if $(test_$1),$(test_$1),$(test_default)) ++ ++test_default_O = test -x $$TMP/perf ++test_O = $(if $(test_$1),$(test_$1),$(test_default_O)) ++ ++all: ++ ++ifdef DEBUG ++d := $(info run $(run)) ++d := $(info run_O $(run_O)) ++endif ++ ++MAKEFLAGS := --no-print-directory ++ ++clean := @(cd $(PERF); make -s -f $(MK) clean >/dev/null) ++ ++$(run): ++ $(call clean) ++ @cmd="cd $(PERF) && make -f $(MK) $($@)"; \ ++ echo "- $@: $$cmd" && echo $$cmd > $@ && \ ++ ( eval $$cmd ) >> $@ 2>&1; \ ++ echo " test: $(call test,$@)"; \ ++ $(call test,$@) && \ ++ rm -f $@ ++ ++$(run_O): ++ $(call clean) ++ @TMP=$$(mktemp -d); \ ++ cmd="cd $(PERF) && make -f $(MK) $($(patsubst %_O,%,$@)) O=$$TMP"; \ ++ echo "- $@: $$cmd" && echo $$cmd > $@ && \ ++ ( eval $$cmd ) >> $@ 2>&1 && \ ++ echo " test: $(call test_O,$@)"; \ ++ $(call test_O,$@) && \ ++ rm -f $@ && \ ++ rm -rf $$TMP ++ ++all: $(run) $(run_O) ++ @echo OK ++ ++out: $(run_O) ++ @echo OK ++ ++.PHONY: all $(run) $(run_O) clean +-- +1.8.3.2 + |