changeset 2882:a37b25ac34ee

PR3116: Add tests for Java debug info and source files 2016-07-28 Andrew John Hughes <gnu.andrew@member.fsf.org> PR3116: 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> PR3116: 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@member.fsf.org>
date Thu, 28 Jul 2016 18:16:27 +0100
parents e374840aec78
children 1f371c45ae04
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 69 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jul 28 16:04:20 2016 +0100
+++ b/ChangeLog	Thu Jul 28 18:16:27 2016 +0100
@@ -1,3 +1,32 @@
+2016-07-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR3116: 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>
+
+	PR3116: 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-28  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	S7175845, PR1437, RH1207129: 'jar uf' changes file
--- a/Makefile.am	Thu Jul 28 16:04:20 2016 +0100
+++ b/Makefile.am	Thu Jul 28 18:16:27 2016 +0100
@@ -934,10 +934,12 @@
 
 all-local: icedtea-stage2 $(DESKTOP_FILES)
 
-check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) check-ecc check-mimetype
+check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) check-ecc check-mimetype \
+ check-java-debug check-java-src
 
 clean-tests: clean-jtreg clean-tapset-report clean-jtreg-reports \
-  clean-check-ecc clean-check-mimetype
+ clean-check-ecc 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 ; \
@@ -978,7 +980,7 @@
 	clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \
 	clean-icedtea icedtea-stage2 clean-icedtea-boot \
 	clean-rt hotspot hotspot-helper clean-jtreg clean-jtreg-reports \
-	jtregcheck clean-remove-intree-libraries \
+	jtregcheck clean-remove-intree-libraries clean-check-java-src \
 	clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \
 	clean-extract-hotspot clean-sanitise-openjdk \
 	clean-tests clean-tapset-report clean-add-systemtap \
@@ -995,7 +997,7 @@
 	clean-fonts clean-add-mime-types-file clean-add-mime-types-file-debug clean-add-mime-types-file-boot \
 	clean-tests clean-tapset-report clean-ecccheck clean-check-ecc \
 	check-jdk check-hotspot check-langtools jtregcheck check-tapset check-tapset-probes \
-	check-tapset-jstack
+	check-tapset-jstack clean-check-java-debug
 
 env:
 	@echo 'unset JAVA_HOME'
@@ -3067,6 +3069,35 @@
 	rm -rf $(MIME_TYPE_CHECK_BUILD_DIR)
 	rm -f stamps/mimetypecheck.stamp
 
+# Check class files, both from in-tree and generated sources, contain debug info
+stamps/check-java-debug.stamp: stamps/icedtea.stamp
+if ENABLE_JAVA_DEBUGINFO
+	@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
+endif
+	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
+
 # File substitution
 
 policytool-@JAVA_VER@.desktop: policytool.desktop
@@ -3404,6 +3435,10 @@
 
 check-ecc: stamps/check-ecc.stamp
 
+check-java-src: stamps/check-java-src.stamp
+
+check-java-debug: stamps/check-java-debug.stamp
+
 clone-boot: stamps/clone-boot.stamp
 
 cryptocheck: stamps/cryptocheck.stamp
--- a/NEWS	Thu Jul 28 16:04:20 2016 +0100
+++ b/NEWS	Thu Jul 28 18:16:27 2016 +0100
@@ -51,6 +51,7 @@
   - PR3111: Provide option to disable SystemTap tests
   - PR3114: Don't assume system mime.types supports text/x-java-source
   - PR3115: Add check for elliptic curve cryptography implementation
+  - PR3116: Add tests for Java debug info and source files
 * AArch64 port
   - S8148328: aarch64: redundant lsr instructions in stub code.
   - S8148783: aarch64: SEGV running SpecJBB2013