summaryrefslogtreecommitdiffstats
path: root/pki/cmake
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2011-11-23 22:24:21 -0800
committerAdam Young <ayoung@redhat.com>2011-11-28 16:55:12 -0500
commit02d13e6c2f06efb6a7901a6a8f239492ba49a66c (patch)
tree467b262b8e1a91c865752778e3100ac147a5b6d8 /pki/cmake
parent22bb099f2020e2dc596b1ee5b843165edc7a30d6 (diff)
downloadpki-02d13e6c2f06efb6a7901a6a8f239492ba49a66c.tar.gz
pki-02d13e6c2f06efb6a7901a6a8f239492ba49a66c.tar.xz
pki-02d13e6c2f06efb6a7901a6a8f239492ba49a66c.zip
Added support for JUnit in CMake.
A new function add_junit_test() has been added to execute JUnit tests in CMake. The function is used to execute the unit tests in the common package. Ticket #36
Diffstat (limited to 'pki/cmake')
-rw-r--r--pki/cmake/Modules/JUnit.cmake53
1 files changed, 53 insertions, 0 deletions
diff --git a/pki/cmake/Modules/JUnit.cmake b/pki/cmake/Modules/JUnit.cmake
new file mode 100644
index 000000000..936dd000e
--- /dev/null
+++ b/pki/cmake/Modules/JUnit.cmake
@@ -0,0 +1,53 @@
+#
+# This file provides functions for JUnit support.
+#
+# Available Functions:
+#
+# add_junit_test(<target name>
+# CLASSPATH [path1 ...]
+# TESTS [class1 ...]
+# )
+#
+# This command creates a target for executing JUnit test classes
+# using the specified class path.
+#
+
+find_file(JUNIT_JAR
+ NAMES
+ junit4.jar
+ PATHS
+ ${JAVA_LIB_INSTALL_DIR}
+ /usr/share/java
+)
+
+function(add_junit_test TARGET_NAME)
+
+ if (WIN32 AND NOT CYGWIN)
+ set(SEPARATOR ";")
+ else (WIN32 AND NOT CYGWIN)
+ set(SEPARATOR ":")
+ endif(WIN32 AND NOT CYGWIN)
+
+ foreach (ARG ${ARGN})
+ if (ARG MATCHES "CLASSPATH" OR ARG MATCHES "TESTS")
+ set(TYPE ${ARG})
+
+ else (ARG MATCHES "TESTS")
+
+ if (TYPE MATCHES "CLASSPATH")
+ set(CLASSPATH "${CLASSPATH}${SEPARATOR}${ARG}")
+
+ elseif (TYPE MATCHES "TESTS")
+ set(TESTS ${TESTS} ${ARG})
+
+ endif(TYPE MATCHES "TESTS")
+
+ endif(ARG MATCHES "CLASSPATH" OR ARG MATCHES "TESTS")
+
+ endforeach(ARG)
+
+ add_custom_target(${TARGET_NAME}
+ COMMAND ${CMAKE_Java_RUNTIME} -classpath ${CLASSPATH} org.junit.runner.JUnitCore ${TESTS}
+ )
+
+endfunction(add_junit_test)