From 86eb23c7de820a29e14fda38cfdf7669b07a1de9 Mon Sep 17 00:00:00 2001 From: Scott Fennell Date: Wed, 14 Mar 2018 10:29:44 -0500 Subject: [PATCH] #521 added unit tests to build and 3rd party XML formatter that does not rely on ant --- libexec/trick/java/lib/JUnitXmlFormatter.jar | Bin 0 -> 17017 bytes libexec/trick/java/lib/Makefile | 5 +- trick_source/java/test/Makefile | 69 +++++++++++++++ .../stripchart/StripchartApplicationTest.java | 79 ------------------ .../WaitForStripchartApplication.java | 57 ------------- 5 files changed, 73 insertions(+), 137 deletions(-) create mode 100644 libexec/trick/java/lib/JUnitXmlFormatter.jar create mode 100644 trick_source/java/test/Makefile delete mode 100644 trick_source/java/test/src/trick/stripchart/StripchartApplicationTest.java delete mode 100644 trick_source/java/test/src/trick/stripchart/WaitForStripchartApplication.java diff --git a/libexec/trick/java/lib/JUnitXmlFormatter.jar b/libexec/trick/java/lib/JUnitXmlFormatter.jar new file mode 100644 index 0000000000000000000000000000000000000000..f931412c6c38fabda5f763e2a39ee612eed89736 GIT binary patch literal 17017 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Ξ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 DYSh{p literal 0 HcmV?d00001 diff --git a/libexec/trick/java/lib/Makefile b/libexec/trick/java/lib/Makefile index f3f3ca0d..f66ab9a0 100644 --- a/libexec/trick/java/lib/Makefile +++ b/libexec/trick/java/lib/Makefile @@ -15,7 +15,8 @@ EXTERNAL_JARS = \ jfreesvg-2.1.jar \ jopt-simple-4.8.jar \ junit-4.12.jar \ - swingx-1.6.1.jar + swingx-1.6.1.jar \ + hamcrest-core-1.3.jar external_jars : ${EXTERNAL_JARS} @@ -35,6 +36,8 @@ junit-4.12.jar: curl -O http://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar swingx-1.6.1.jar : curl -O http://repo.maven.apache.org/maven2/org/swinglabs/swingx/1.6.1/swingx-1.6.1.jar +hamcrest-core-1.3.jar : + curl -O http://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar clean: rm -f ${EXTERNAL_JARS} diff --git a/trick_source/java/test/Makefile b/trick_source/java/test/Makefile new file mode 100644 index 00000000..21db4aee --- /dev/null +++ b/trick_source/java/test/Makefile @@ -0,0 +1,69 @@ +# To run new unit tests, add new tests to the "test" target + +TRICK_HOME := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../../..) + +# Get JAVAC definition +include ${TRICK_HOME}/share/trick/makefiles/Makefile.common + +JAVAC ?= javac +JAVAC_FLAGS = -g -Xlint:unchecked -Xlint:deprecation +# delineate 'javac -version' for version number +JAVAC_VERSION := $(shell ${JAVAC} -version 2>&1 | perl -ne 'print /(\d+)/') + +# include java.se.ee for JAXB xml annotations (for trick-tv) in java version 9 +ifeq ($(JAVAC_VERSION),9) + JAVAC_FLAGS += --add-modules java.se.ee +endif + +SRC_DIR = src +SRC_FILES = $(shell find ${SRC_DIR} -type f -name \*.java) +BUILD_DIR = build +DEST_DIR = ${BUILD_DIR}/classes +LIB_DIR = ${TRICK_HOME}/$(LIBEXEC)/trick/java/lib +DIST_DIR = ${TRICK_HOME}/$(LIBEXEC)/trick/java/dist +TEST_DIR = ${TRICK_HOME}/$(LIBEXEC)/trick/java/test + +empty := +space := $(empty) $(empty) +CLASS_PATH = $(subst $(space),:,$(wildcard ${LIB_DIR}/*.jar):${DIST_DIR}/trick.jar) + +RESOURCES = $(subst src/,,$(shell find src/trick -name resources)) +RESOURCES += $(subst src/,,$(shell find src/trick -name jaxb.index)) + +all: test + @echo "Java test successful" +test: ${TEST_DIR}/test.jar + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_RunTimeTrickApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.common.RunTimeTrickApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_TrickApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.common.TrickApplicationTest + # java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_LogHeaderReaderTest.xml barrypitman.junitXmlFormatter.Runner trick.common.utils.LogHeaderReaderTest + # java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_UnitTypeTest.xml barrypitman.junitXmlFormatter.Runner trick.common.utils.UnitTypeTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_TrickDPApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.dataproducts.trickdp.TrickDPApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_TrickQPApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.dataproducts.trickqp.TrickQPApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_DreApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.dre.DreApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_MonteMonitorApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.montemonitor.MonteMonitorApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_MtvApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.mtv.MtvApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_SieApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.sie.SieApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_SimControlApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.simcontrol.SimControlApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_SnifferApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.sniffer.SnifferApplicationTest + java -cp "${LIB_DIR}/*:${DIST_DIR}/*:${TEST_DIR}/*" -Dorg.schmant.task.junit4.target=${TRICK_HOME}/trick_test/Java_TVApplicationTest.xml barrypitman.junitXmlFormatter.Runner trick.tv.TVApplicationTest + +${DEST_DIR} ${TEST_DIR}: + mkdir -p $@ + +${TEST_DIR}/test.jar: compile ${TEST_DIR} + @echo "Creating jar file..." + @jar cf ${TEST_DIR}/test.jar -C ${DEST_DIR} . + +trick_guis: + @ $(MAKE) -C .. + +compile: ${DEST_DIR} trick_guis + @echo "Building Trick GUI tests .." + @${JAVAC} ${JAVAC_FLAGS} -classpath ${CLASS_PATH} -d ${DEST_DIR} -sourcepath ${SRC_DIR} ${SRC_FILES} + +clean: + rm -rf ${BUILD_DIR} + rm -rf ${TEST_DIR} + +clean_obj: + rm -rf ${BUILD_DIR} \ No newline at end of file diff --git a/trick_source/java/test/src/trick/stripchart/StripchartApplicationTest.java b/trick_source/java/test/src/trick/stripchart/StripchartApplicationTest.java deleted file mode 100644 index e793ddbe..00000000 --- a/trick_source/java/test/src/trick/stripchart/StripchartApplicationTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package trick.stripchart; - -import static org.junit.Assert.assertTrue; - -import org.jdesktop.application.Application; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import trick.common.CheckApplicationProperties; - -/** - * - * Test StripchartApplication life cycle. - * - * @author hchen - * - */ -public class StripchartApplicationTest { - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - WaitForStripchartApplication.launchAndWait(WaitForStripchartApplication.class); - } - - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testReady() { - assertTrue("StripchartApplicationTest is not ready yet!", application().isReady()); - } - - /** - * Verify that all implemented actions exist as well as their text, shortDescription properties. - */ - @Test - public void testDefinedActions() { - String[] actionNames = {"toggle_xrange", "start_stop", "legend_onoff", "postscript"}; - String[] actionTexts = {"Toggle Range", "Toggle Start/Stop", "Legend On/Off", "Postscript..."}; - String[] actionShortDescriptions = {"Set x-axis range to automatic scaling (All), or fixed-width (Strip).", - "Start/Stop graph refreshing.", - "Hide/Display the graph's Legend.", - "Save a copy of the graph to postscript file."}; - for (int i = 0; i < actionNames.length; i++) { - CheckApplicationProperties.checkAction(application().actionMap, actionNames[i]); - CheckApplicationProperties.checkActionText(application().actionMap, actionNames[i], actionTexts[i]); - CheckApplicationProperties.checkActionShortDescription(application().actionMap, actionNames[i], actionShortDescriptions[i]); - } - } - - @Test - public void testDefinedKeyText() { - CheckApplicationProperties.checkKeyText(application().resourceMap, "fileMenu.text", "&File"); - CheckApplicationProperties.checkKeyText(application().resourceMap, "settingsMenu.text", "&Settings"); - } - - @Test - public void testExit() { - application().removeExitListener(application().exitListener); - application().exit(); - assertTrue(application().isEnded); - } - - private static WaitForStripchartApplication application() { - return Application.getInstance(WaitForStripchartApplication.class); - } -} diff --git a/trick_source/java/test/src/trick/stripchart/WaitForStripchartApplication.java b/trick_source/java/test/src/trick/stripchart/WaitForStripchartApplication.java deleted file mode 100644 index eb93845d..00000000 --- a/trick_source/java/test/src/trick/stripchart/WaitForStripchartApplication.java +++ /dev/null @@ -1,57 +0,0 @@ -package trick.stripchart; - - -import org.jdesktop.application.Application; - - -public class WaitForStripchartApplication extends StripchartApplication { - static Object lock = new Object(); - - boolean isEnded; - - @Override - protected void end() { - isEnded = true; - } - - @Override - protected void ready() { - super.ready(); - synchronized(lock) { - lock.notifyAll(); - } - } - - - /** - * Launch the specified subclsas of StripchartApplication and block - * (wait) until it's startup() method has run. - */ - public static void launchAndWait(Class applicationClass) { - synchronized(lock) { - String[] args = new String[] {"-demo"}; - try { - Application.launch(applicationClass, args); - } catch (Exception e) { - lock.notifyAll(); - return; - } - - while(true) { - try { - lock.wait(); - } - catch (InterruptedException e) { - System.err.println("launchAndWait interrupted!"); - break; - } - Application app = Application.getInstance(WaitForStripchartApplication.class); - if (app instanceof WaitForStripchartApplication) { - if (((WaitForStripchartApplication)app).isReady()) { - break; - } - } - } - } - } -}