changeset 3261:25a95cf50cc8

PR3117: Add tests for Java debug info and source files 2016-07-28 Andrew John Hughes <gnu.andrew@member.fsf.org> PR3117: Add tests for Java debug info and source files * Makefile.am: (check-java-debug): Guard with ENABLE_JAVA_DEBUGINFO. * NEWS: Updated. 2016-07-15 Andrew John Hughes <gnu.andrew@member.fsf.org> PR3117: Add tests for Java debug info and source files * Makefile.am: (check-local): Depend on check-java-debug and check-java-src. (clean-tests): Depend on clean-check-java-debug and clean-check-java-src. (.PHONY): Add clean-check-java-src and clean-check-java-debug. (check-java-debug): Adapt Omair Majid's Java debug info test from Fedora RPM to IcedTea. (clean-check-java-debug): Cleanup target for check-java-debug. (check-java-src): Adapt Omair Majid's Java source file test from Fedora RPM to IcedTea. (clean-check-java-src): Cleanup target for check-java-src.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Wed, 17 Aug 2016 04:00:23 +0100
parents 0c39aecdacad
children f0018499e963
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 65 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Aug 17 03:35:59 2016 +0100
+++ b/ChangeLog	Wed Aug 17 04:00:23 2016 +0100
@@ -1,3 +1,29 @@
+2016-07-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3117: Add tests for Java debug info and
+	source files
+	* NEWS: Updated.
+
+2016-07-15  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3117: Add tests for Java debug info and
+	source files
+	* Makefile.am:
+	(check-local): Depend on check-java-debug and
+	check-java-src.
+	(clean-tests): Depend on clean-check-java-debug
+	and clean-check-java-src.
+	(.PHONY): Add clean-check-java-src and
+	clean-check-java-debug.
+	(check-java-debug): Adapt Omair Majid's Java debug
+	info test from Fedora RPM to IcedTea.
+	(clean-check-java-debug): Cleanup target for
+	check-java-debug.
+	(check-java-src): Adapt Omair Majid's Java source
+	file test from Fedora RPM to IcedTea.
+	(clean-check-java-src): Cleanup target for
+	check-java-src.
+
 2016-07-26  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	PR2800: Files are missing from resources.jar
--- a/Makefile.am	Wed Aug 17 03:35:59 2016 +0100
+++ b/Makefile.am	Wed Aug 17 04:00:23 2016 +0100
@@ -989,9 +989,11 @@
 
 all-local: icedtea-against-icedtea
 
-check-local: jtregcheck check-tapset check-mimetype
-
-clean-tests: clean-jtreg clean-tapset-report clean-check-mimetype
+check-local: jtregcheck check-tapset check-mimetype \
+ check-java-debug check-java-src
+
+clean-tests: clean-jtreg clean-tapset-report clean-check-mimetype \
+ clean-check-java-debug clean-check-java-src
 	if [ $(abs_top_srcdir) != $(abs_top_builddir) ] ; then \
 	  if [ -e test ] ; then \
 	    rmdir test ; \
@@ -1045,7 +1047,8 @@
 	clean-download-hotspot clean-tests clean-tapset-report jtregcheck clean-pax-mark-vm \
 	clean-pax-mark-vm-debug clean-pax-mark-vm-ecj clean-check-crypto clean-check-crypto-debug \
 	clean-check-crypto-boot clean-cryptocheck clean-add-mime-types-file \
-	clean-add-mime-types-file-debug clean-add-mime-types-file-boot
+	clean-add-mime-types-file-debug clean-add-mime-types-file-boot clean-check-java-src \
+	clean-check-java-debug
 
 env:
 	@echo 'unset JAVA_HOME'
@@ -2902,6 +2905,33 @@
 	rm -f $(MIME_TYPE_CHECK_BUILD_DIR)/test.html
 	rm -f stamps/check-mimetype.stamp
 
+# Check class files, both from in-tree and generated sources, contain debug info
+stamps/check-java-debug.stamp: stamps/icedtea.stamp
+	@echo "Checking that Java classes include debug info"
+	if [ -e $(BUILD_SDK_DIR)/bin/javap ] ; then \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.lang.Object | grep "Compiled from" ; \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.lang.Object | grep LineNumberTable ; \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.lang.Object | grep LocalVariableTable ; \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.nio.ByteBuffer | grep "Compiled from" ; \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable ; \
+	  $(BUILD_SDK_DIR)/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable ; \
+	fi
+	mkdir -p stamps
+	touch $@
+
+clean-check-java-debug:
+	rm -f stamps/check-java-debug.stamp
+
+# Check source files are included in the source zip
+stamps/check-java-src.stamp: stamps/icedtea.stamp
+	@echo "Checking for Java sources in src.zip"
+	$(UNZIP) -l $(BUILD_SDK_DIR)/src.zip | grep 'sun.misc.Unsafe'
+	mkdir -p stamps
+	touch $@
+
+clean-check-java-src:
+	rm -f stamps/check-java-src.stamp
+
 # Support classes for non-OpenJDK bootstraps
 
 # rt.jar additional class files.
@@ -3041,6 +3071,10 @@
 
 check-crypto-debug: stamps/check-crypto-debug.stamp
 
+check-java-src: stamps/check-java-src.stamp
+
+check-java-debug: stamps/check-java-debug.stamp
+
 check-mimetype: stamps/check-mimetype.stamp
 
 cryptocheck: stamps/cryptocheck.stamp
--- a/NEWS	Wed Aug 17 03:35:59 2016 +0100
+++ b/NEWS	Wed Aug 17 04:00:23 2016 +0100
@@ -26,6 +26,7 @@
   - PR2962: System default check doesn't match all GNU/Linux systems
   - PR2969: ENABLE_SYSTEM_LCMS is not defined if ENABLE_LCMS2 is not set
   - PR3092: SystemTap is heavily confused by multiple JDKs
+  - PR3117: Add tests for Java debug info and source files
   - PR3137: GTKLookAndFeel does not honor gtk-alternative-button-order
 
 New in release 1.13.11 (2016-05-05):