mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-05 22:48:07 +02:00
[perf] Make targets more consistent with the test suite
That is: 1) no VALGRING vs VG abbreviations 2) setting TARGETS and ITERS on the make command line works now
This commit is contained in:
parent
9f3e0694e6
commit
b9026d0b13
2 changed files with 23 additions and 11 deletions
|
|
@ -57,20 +57,28 @@ $(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo
|
|||
$(top_builddir)/src/libcairo.la:
|
||||
cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la
|
||||
|
||||
|
||||
# Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that
|
||||
# one can limit tested targets both through CAIRO_TEST_TARGET env var
|
||||
# and TARGETS make var on the command line.
|
||||
TARGETS = $(CAIRO_TEST_TARGET)
|
||||
ITERS = $(CAIRO_PERF_ITERATIONS)
|
||||
CAIRO_PERF_ENVIRONMENT = CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_PERF_ITERATIONS="$(ITERS)"
|
||||
|
||||
perf: cairo-perf FORCE
|
||||
./cairo-perf
|
||||
$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf
|
||||
|
||||
html: index.html
|
||||
|
||||
index.html: cairo-perf
|
||||
./cairo-perf-diff -h HEAD > $@
|
||||
$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-diff -h HEAD > $@
|
||||
|
||||
EXTRA_VG_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS)
|
||||
VG_MEMCHECK_FLAGS = \
|
||||
EXTRA_VALGRIND_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS)
|
||||
VALGRIND_MEMCHECK_FLAGS = \
|
||||
--tool=memcheck \
|
||||
--suppressions=$(top_srcdir)/test/.valgrind-suppressions \
|
||||
--leak-check=yes --show-reachable=yes
|
||||
VG_CALLGRIND_FLAGS = \
|
||||
VALGRIND_CALLGRIND_FLAGS = \
|
||||
--tool=callgrind
|
||||
CLEANFILES = \
|
||||
valgrind-log \
|
||||
|
|
@ -78,12 +86,12 @@ CLEANFILES = \
|
|||
|
||||
perf-valgrind: cairo-perf FORCE
|
||||
$(top_srcdir)/libtool --mode=execute \
|
||||
valgrind $(VG_MEMCHECK_FLAGS) $(EXTRA_VG_FLAGS) \
|
||||
./cairo-perf 2>&1 | tee valgrind-log
|
||||
valgrind $(VALGRIND_MEMCHECK_FLAGS) $(EXTRA_VALGRIND_FLAGS) \
|
||||
$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf 2>&1 | tee valgrind-log
|
||||
perf-callgrind: cairo-perf FORCE
|
||||
$(top_srcdir)/libtool --mode=execute \
|
||||
valgrind $(VG_CALLGRIND_FLAGS) $(EXTRA_VG_FLAGS) \
|
||||
./cairo-perf
|
||||
valgrind $(VALGRIND_CALLGRIND_FLAGS) $(EXTRA_VALGRIND_FLAGS) \
|
||||
$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf
|
||||
|
||||
FORCE:
|
||||
|
||||
|
|
|
|||
|
|
@ -216,10 +216,11 @@ static void
|
|||
parse_options (cairo_perf_t *perf, int argc, char *argv[])
|
||||
{
|
||||
int c;
|
||||
const char *iters;
|
||||
char *end;
|
||||
|
||||
if (getenv("CAIRO_PERF_ITERATIONS"))
|
||||
perf->iterations = strtol(getenv("CAIRO_PERF_ITERATIONS"), NULL, 0);
|
||||
if ((iters = getenv("CAIRO_PERF_ITERATIONS")) && *iters)
|
||||
perf->iterations = strtol(iters, NULL, 0);
|
||||
else
|
||||
perf->iterations = CAIRO_PERF_ITERATIONS_DEFAULT;
|
||||
perf->exact_iterations = 0;
|
||||
|
|
@ -323,6 +324,9 @@ main (int argc, char *argv[])
|
|||
stderr);
|
||||
}
|
||||
|
||||
if (!*cairo_test_target)
|
||||
cairo_test_target = NULL;
|
||||
|
||||
for (i = 0; targets[i].name; i++) {
|
||||
perf.target = target = &targets[i];
|
||||
perf.test_number = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue