Patchwork [11/11] check: add a check-report and check-help target

login
register
mail settings
Submitter Anthony Liguori
Date Jan. 9, 2012, 3:56 p.m.
Message ID <1326124572-8312-11-git-send-email-aliguori@us.ibm.com>
Download mbox | patch
Permalink /patch/135071/
State New
Headers show

Comments

Anthony Liguori - Jan. 9, 2012, 3:56 p.m.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 tests/Makefile |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)
Andreas Färber - Jan. 9, 2012, 8 p.m.
Am 09.01.2012 16:56, schrieb Anthony Liguori:
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
>  tests/Makefile |   43 ++++++++++++++++++++++++++++++++++++++++---
>  1 files changed, 40 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/Makefile b/tests/Makefile
> index cba482f..7228f44 100644
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -33,6 +33,43 @@ test-qmp-input-visitor: test-qmp-input-visitor.o $(qobject-obj-y) $(qapi-obj-y)
>  test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h test-qapi-visit.c test-qapi-visit.h test-qmp-marshal.c test-qmp-commands.h) $(qapi-obj-y)
>  test-qmp-commands: test-qmp-commands.o $(qobject-obj-y) $(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o $(qapi-dir)/test-qmp-marshal.o module.o
>  
> -.PHONY: check
> -check: $(CHECKS)
> -	gtester $(CHECKS)
> +check: check-quick
> +
> +check-slow: $(CHECKS)
> +	gtester -m=slow $(CHECKS)
> +
> +check-quick: $(CHECKS)
> +	gtester -m=quick $(CHECKS)
> +
> +check-perf: $(CHECKS)
> +	gtester -m=perf $(CHECKS)
> +
> +check-help:
> +	@echo "Regression targets:"
> +	@echo
> +	@echo " make check                Alias for 'make check-quick'"
> +	@echo " make check-quick          Run all unit tests in 'quick' mode"
> +	@echo " make check-slow           Run all unit tests in 'slow' mode"
> +	@echo " make check-perf           Run all unit tests in 'perf' mode"

Are these a fixed set of profiles defined by gtester, or are they
arbitrary choices?

quick and slow seem intuitive but 'perf' could use an explanation:
Is 'perf' more performant than quick, or does it measure performance?
(or is it for perfidious test cases?;))

If test cases need to be annotated as slow, describe it in the commit
message?

Andreas

Patch

diff --git a/tests/Makefile b/tests/Makefile
index cba482f..7228f44 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -33,6 +33,43 @@  test-qmp-input-visitor: test-qmp-input-visitor.o $(qobject-obj-y) $(qapi-obj-y)
 test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h test-qapi-visit.c test-qapi-visit.h test-qmp-marshal.c test-qmp-commands.h) $(qapi-obj-y)
 test-qmp-commands: test-qmp-commands.o $(qobject-obj-y) $(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o $(qapi-dir)/test-qmp-marshal.o module.o
 
-.PHONY: check
-check: $(CHECKS)
-	gtester $(CHECKS)
+check: check-quick
+
+check-slow: $(CHECKS)
+	gtester -m=slow $(CHECKS)
+
+check-quick: $(CHECKS)
+	gtester -m=quick $(CHECKS)
+
+check-perf: $(CHECKS)
+	gtester -m=perf $(CHECKS)
+
+check-help:
+	@echo "Regression targets:"
+	@echo
+	@echo " make check                Alias for 'make check-quick'"
+	@echo " make check-quick          Run all unit tests in 'quick' mode"
+	@echo " make check-slow           Run all unit tests in 'slow' mode"
+	@echo " make check-perf           Run all unit tests in 'perf' mode"
+	@echo
+	@echo " make check-report         Alias for 'make check-report-quick'"
+	@echo " make check-report-quick   Generate an HTML report for check-quick"
+	@echo " make check-report-slow    Generate an HTML report for check-slow"
+	@echo " make check-report-perf    Generate an HTML report for check-perf"
+	@echo
+	@echo "Please note that HTML reports do not regenerate if the unit tests"
+	@echo "has not changed."
+
+check-report-%.log: $(CHECKS)
+	gtester -m=`echo $@ | cut -f3 -d- | cut -f1 -d.` -o $@ $^
+
+check-report-%.html: check-report-%.log
+	gtester-report $< > $@
+
+check-report-quick: check-report-quick.html
+check-report-slow: check-report-slow.html
+check-report-perf: check-report-perf.html
+
+check-report: check-report-quick
+
+.PHONY: check check-quick check-slow check-perf check-help