Commit 6a94b52a authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

libperf: Add tests support



Adding simple test framework, now empty.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190721112506.12306-73-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 0a64d709
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -109,6 +109,11 @@ all: fixdep
clean:
	$(call QUIET_CLEAN, libperf) $(RM) $(LIBPERF_A) \
                *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBPERF_VERSION) .*.d .*.cmd LIBPERF-CFLAGS $(LIBPERF_PC)
	$(Q)$(MAKE) -C tests clean

tests:
	$(Q)$(MAKE) -C tests
	$(Q)$(MAKE) -C tests run

$(LIBPERF_PC):
	$(QUIET_GEN)sed -e "s|@PREFIX@|$(prefix)|" \
@@ -150,4 +155,4 @@ install: install_lib install_headers install_pkgconfig

FORCE:

.PHONY: all install clean FORCE
.PHONY: all install clean tests FORCE
+19 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __LIBPERF_INTERNAL_TESTS_H
#define __LIBPERF_INTERNAL_TESTS_H

#include <stdio.h>

#define __T_START fprintf(stdout, "- running %s...", __FILE__)
#define __T_OK    fprintf(stdout, "OK\n")
#define __T_FAIL  fprintf(stdout, "FAIL\n")

#define __T(text, cond)                                                          \
do {                                                                             \
	if (!(cond)) {                                                           \
		fprintf(stderr, "FAILED %s:%d %s\n", __FILE__, __LINE__, text);  \
		return -1;                                                       \
	}                                                                        \
} while (0)

#endif /* __LIBPERF_INTERNAL_TESTS_H */
+38 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)

TESTS =

TESTS_SO := $(addsuffix -so,$(TESTS))
TESTS_A  := $(addsuffix -a,$(TESTS))

# Set compile option CFLAGS
ifdef EXTRA_CFLAGS
  CFLAGS := $(EXTRA_CFLAGS)
else
  CFLAGS := -g -Wall
endif

all:

include $(srctree)/tools/scripts/Makefile.include

INCLUDE = -I$(srctree)/tools/perf/lib/include -I$(srctree)/tools/include

$(TESTS_A): FORCE
	$(QUIET_LINK)$(CC) $(INCLUDE) $(CFLAGS) -o $@ $(subst -a,.c,$@) ../libperf.a

$(TESTS_SO): FORCE
	$(QUIET_LINK)$(CC) $(INCLUDE) $(CFLAGS) -L.. -o $@ $(subst -so,.c,$@) -lperf

all: $(TESTS_A) $(TESTS_SO)

run:
	@echo "running static:"
	@for i in $(TESTS_A); do ./$$i; done
	@echo "running dynamic:"
	@for i in $(TESTS_SO); do LD_LIBRARY_PATH=../ ./$$i; done

clean:
	$(call QUIET_CLEAN, tests)$(RM) $(TESTS_A) $(TESTS_SO)

.PHONY: all clean FORCE