446
459
@junit-runner-source-files.txt && \
447
460
$(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) .
462
stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt
463
mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR)
464
mkdir -p $(JNLP_TESTS_DIR)
465
mkdir -p $(JNLP_TESTS_ENGINE_DIR)
468
junit-jnlp-dist-simple.txt:
469
cd $(JNLP_TESTS_SRCDIR)/simple/ ; \
470
find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@
472
junit-jnlp-dist-signed.txt:
473
cd $(JNLP_TESTS_SRCDIR)/signed/ ; \
474
find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@
476
stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs
477
types=(simple signed); \
478
for which in "$${types[@]}" ; do \
479
. $(abs_top_builddir)/NEW_LINE_IFS ; \
480
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
481
IFS="$$IFS_BACKUP" ; \
482
for dir in "$${simpleReproducers[@]}" ; do \
483
echo "processing: $$dir" ; \
484
mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \
486
cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \
487
srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \
488
notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \
489
$(BOOT_DIR)/bin/javac -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \
490
if [ -n "$$notSrcFiles" ] ; then \
491
cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \
493
cd "$(JNLP_TESTS_DIR)/$$dir/" ; \
494
$(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \
496
cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \
502
stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp
504
keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \
506
$(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \
507
. $(abs_top_builddir)/NEW_LINE_IFS ; \
508
signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \
509
IFS="$$IFS_BACKUP" ; \
510
for dir in "$${signedReproducers[@]}" ; do \
511
$(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$alias ; \
516
netx-dist-tests-source-files.txt:
517
find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@
519
stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \
520
stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt
521
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
522
-d $(JNLP_TESTS_ENGINE_DIR) \
523
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
524
@netx-dist-tests-source-files.txt && \
528
stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \
529
netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp
530
types=(simple signed); \
531
for which in "$${types[@]}" ; do \
532
. $(abs_top_builddir)/NEW_LINE_IFS ; \
533
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
534
IFS="$$IFS_BACKUP" ; \
535
for dir in "$${simpleReproducers[@]}" ; do \
536
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
537
-d $(JNLP_TESTS_ENGINE_DIR) \
538
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \
539
"$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \
545
$(REPRODUCERS_CLASS_NAMES):
546
cd $(JNLP_TESTS_ENGINE_DIR) ; \
548
for test in `find -type f` ; do \
549
class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
550
class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
551
class_names="$$class_names $$class_name" ; \
553
echo $$class_names > $(REPRODUCERS_CLASS_NAMES)
555
stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
556
javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \
557
stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \
558
stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) \
559
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES)
560
cd $(JNLP_TESTS_ENGINE_DIR) ; \
561
class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \
562
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
563
$(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \
564
-Xbootclasspath:$(RUNTIME) CommandLine $$class_names \
565
> stdout.log 2> stderr.log ; \
569
$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html
449
573
netx-unit-tests-source-files.txt:
450
574
find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@
469
596
class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
470
597
class_names="$$class_names $$class_name" ; \
472
echo $$class_names ; \
599
echo $$class_names > $(UNIT_CLASS_NAMES);
601
stamps/run-netx-unit-tests.stamp: stamps/netx-unit-tests-compile.stamp $(JUNIT_RUNNER_JAR) \
602
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(UNIT_CLASS_NAMES)
604
cd $(NETX_UNIT_TEST_SRCDIR) ; \
605
for file in `find . -type f \! -iname "*.java"`; do\
606
filename=`echo $$file `; \
607
cp --parents $$filename $(NETX_UNIT_TEST_DIR) ; \
609
cd $(NETX_UNIT_TEST_DIR) ; \
610
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
473
611
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
474
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
476
clean-netx-tests: clean-netx-unit-tests clean-junit-runner
612
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \
613
> stdout.log 2> stderr.log ; \
617
$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html
621
#warning, during this target tests.build/netx/unit/tests-output.xml is backup and rewriten (but not coresponding html file)
622
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
623
#you can add -ix "-*Test*" -ix "-*test*" to ignore all test cases from statistics
624
stamps/run-unit-test-code-coverage.stamp: check $(UNIT_CLASS_NAMES);
626
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma ; \
627
cd $(NETX_UNIT_TEST_DIR) ; \
628
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
629
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \
630
-Dreport.html.out.encoding=UTF-8 \
633
-sp $(NETX_UNIT_TEST_SRCDIR) \
634
-sp $(JUNIT_RUNNER_SRCDIR) \
637
-cp $(NETX_DIR)/lib/classes.jar \
639
-cp $(JUNIT_RUNNER_JAR) \
640
-cp $(BOOT_DIR)/jre/lib/rt.jar \
641
-cp $(BOOT_DIR)/jre/lib/jsse.jar \
642
-cp $(RHINO_RUNTIME) \
646
CommandLine $$class_names ; \
647
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \
648
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma $(NETX_UNIT_TEST_DIR)/tests-output.xml ;
650
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
655
#warning, during this target tests.build/netx/jnlp_testsengine/tests-output.xml is backup and rewriten (but not coresponding html file)
656
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
657
stamps/run-reproducers-test-code-coverage.stamp: stamps/run-netx-dist-tests.stamp $(REPRODUCERS_CLASS_NAMES)
660
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma ; \
661
echo "backuping javaws and netx.jar in $(DESTDIR)" ; \
662
netx_backup=$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx_backup.jar ; \
663
javaws_backup=$(DESTDIR)$(bindir)/javaws_backup ; \
664
mv $(DESTDIR)$(bindir)/javaws $$javaws_backup ; \
665
mv $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar $$netx_backup ; \
666
nw_bootclasspath="$(LAUNCHER_BOOTCLASSPATH):$(EMMA_JAR):$$netx_backup" ; \
667
instructed_dir=$(TESTS_DIR)/instr ; \
668
echo "instrumenting netx.jar from $$netx_backup through $$instructed_dir" ; \
669
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma instr -d $$instructed_dir -ip $$netx_backup ; \
670
pushd $$instructed_dir ; \
671
$(BOOT_DIR)/bin/jar -cf $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar * ; \
673
rm -rf $$instructed_dir ; \
674
echo "patching javaws" ; \
675
cat $$javaws_backup | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/javaws ; \
676
chmod 777 $(DESTDIR)$(bindir)/javaws ; \
677
testcases_srcs=( ) ; \
679
types=(simple signed); \
680
for which in "$${types[@]}" ; do \
681
. $(abs_top_builddir)/NEW_LINE_IFS ; \
682
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
683
IFS="$$IFS_BACKUP" ; \
684
for dir in "$${simpleReproducers[@]}" ; do \
685
testcases_srcs[k]="-sp" ; \
687
testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \
691
cd $(JNLP_TESTS_ENGINE_DIR) ; \
692
class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \
693
$(BOOT_DIR)/bin/java \
694
-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) \
695
-Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \
696
-Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \
698
-cp $(NETX_DIR)/lib/classes.jar \
700
-cp $(JUNIT_RUNNER_JAR) \
701
-cp $(BOOT_DIR)/jre/lib/rt.jar \
702
-cp $(BOOT_DIR)/jre/lib/jsse.jar \
703
-cp $(RHINO_RUNTIME) \
707
CommandLine $$class_names ; \
708
mv $(JNLP_TESTS_ENGINE_DIR)/coverage.ec $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec ; \
709
mv $(JNLP_TESTS_ENGINE_DIR)/coverage.es $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \
710
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \
711
-in $(TESTS_DIR)/coverage.em \
712
-in $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec \
713
-in $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \
714
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \
715
-Dreport.html.out.encoding=UTF-8 \
716
-in $(JNLP_TESTS_ENGINE_DIR)/coverage.es \
718
-sp $(NETX_UNIT_TEST_SRCDIR) \
719
-sp $(JUNIT_RUNNER_SRCDIR) \
720
-sp $(JNLP_TESTS_ENGINE_SRCDIR) \
723
"$${testcases_srcs[@]}" ; \
724
echo "restoring javaws and netx.jar in $(DESTDIR)" ; \
725
rm -f $(DESTDIR)$(bindir)/javaws $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \
726
rm -f $(DESTDIR)$(bindir)/javaws; \
727
mv $$javaws_backup $(DESTDIR)$(bindir)/javaws; \
728
mv $$netx_backup $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \
729
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \
730
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml ; \
731
rm $(JNLP_TESTS_ENGINE_DIR)/coverage.txt ;
733
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
738
run-test-code-coverage: run-unit-test-code-coverage run-reproducers-test-code-coverage
742
types=(simple signed); \
743
for which in "$${types[@]}" ; do \
744
. $(abs_top_builddir)/NEW_LINE_IFS ; \
745
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
746
IFS="$$IFS_BACKUP" ; \
747
for dir in "$${simpleReproducers[@]}" ; do \
748
testcases_srcs[k]="-sp" ; \
750
testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \
754
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \
755
-in $(NETX_UNIT_TEST_DIR)/coverage.es \
756
-in $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \
757
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \
758
-Dreport.html.out.encoding=UTF-8 \
759
-in $(TESTS_DIR)/coverage.es \
760
-in $(TESTS_DIR)/coverage.em \
762
-sp $(NETX_UNIT_TEST_SRCDIR) \
763
-sp $(JUNIT_RUNNER_SRCDIR) \
764
-sp $(JNLP_TESTS_ENGINE_SRCDIR) \
765
"$${testcases_srcs[@]}" \
769
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ;
773
clean-netx-tests: clean-netx-unit-tests clean-junit-runner clean-netx-dist-tests clean-test-code-coverage
477
774
if [ -e $(TESTS_DIR)/netx ]; then \
478
775
rmdir $(TESTS_DIR)/netx ; \
483
780
rm -rf $(JUNIT_RUNNER_DIR)
484
781
rm -f $(JUNIT_RUNNER_JAR)
486
clean-netx-unit-tests:
783
clean-netx-unit-tests: clean_tests_reports
487
784
rm -f netx-unit-tests-source-files.txt
488
785
rm -rf $(NETX_UNIT_TEST_DIR)
786
rm -f $(UNIT_CLASS_NAMES)
787
rm -f stamps/run-netx-unit-tests.stamp
489
788
rm -f stamps/netx-unit-tests-compile.stamp
791
rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
792
rm -f $(TESTS_DIR)/index*.html
794
clean-netx-dist-tests: clean_tests_reports
795
rm -f netx-dist-tests-source-files.txt
796
rm -rf $(JNLP_TESTS_DIR)
797
rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR)
798
rm -rf $(JNLP_TESTS_ENGINE_DIR)
799
rm -f stamps/junit-jnlp-dist-dirs
800
rm -f stamps/netx-dist-tests-compile.stamp
801
rm -f stamps/netx-dist-tests-prepare-reproducers.stamp
802
rm -f stamps/netx-dist-tests-compile-testcases.stamp
803
rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp
804
rm -f junit-jnlp-dist-simple.txt
805
rm -f junit-jnlp-dist-signed.txt
806
rm -f $(REPRODUCERS_CLASS_NAMES)
807
rm -f $(abs_top_builddir)/$(KEYSTORE_NAME)
808
rm -f stamps/run-netx-dist-tests.stamp
810
clean-unit-test-code-coverage:
811
if [ -e stamps/run-unit-test-code-coverage.stamp ]; then \
812
rm -rf $(NETX_UNIT_TEST_DIR)/coverage ; \
813
rm -f $(NETX_UNIT_TEST_DIR)/coverage.xml ; \
814
rm -f $(NETX_UNIT_TEST_DIR)/coverageX.es ; \
815
rm -f $(NETX_UNIT_TEST_DIR)/coverageX.ec ; \
816
rm -f $(NETX_UNIT_TEST_DIR)/coverage.es ; \
817
rm -f $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \
818
rm -f stamps/run-unit-test-code-coverage.stamp ; \
821
clean-reproducers-test-code-coverage:
822
if [ -e stamps/run-reproducers-test-code-coverage.stamp ]; then \
823
rm -rf $(JNLP_TESTS_ENGINE_DIR)/coverage ; \
824
rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.xml ; \
825
rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \
826
rm -f $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \
827
rm -f stamps/run-reproducers-test-code-coverage.stamp ; \
830
clean-test-code-coverage: clean-unit-test-code-coverage clean-reproducers-test-code-coverage
831
if [ -e $(TESTS_DIR)/coverage.xml ]; then \
832
rm -rf $(TESTS_DIR)/coverage ; \
833
rm -f $(TESTS_DIR)/coverage.xml ; \
834
rm -f $(TESTS_DIR)/coverage.es ; \
835
rm -f $(TESTS_DIR)/coverage.em ; \