tests: Allow emitting junit output for unit tests

Change-Id: Iab0c4250b1baa77d4eab7538ec1fd3310f9e63e4
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41771
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Jan Dabros <jsd@semihalf.com>
diff --git a/tests/Makefile.inc b/tests/Makefile.inc
index f84fa30..2da29c3 100644
--- a/tests/Makefile.inc
+++ b/tests/Makefile.inc
@@ -135,7 +135,13 @@
 .PHONY: $(alltests) $(addprefix clean-,$(alltests))
 .PHONY: unit-tests build-unit-tests run-unit-tests clean-unit-tests
 
+ifeq ($(JUNIT_OUTPUT),y)
+$(alltests): export CMOCKA_MESSAGE_OUTPUT=xml
+$(alltests): export CMOCKA_XML_FILE=$(testobj)/junit-$(subst /,_,$^).xml
+endif
+
 $(alltests): $$($$(@)-bin)
+	rm -f $(testobj)/junit-$(subst /,_,$^).xml
 	./$^
 
 unit-tests: build-unit-tests run-unit-tests