[rfc][icedtea-web] run on any open/oracle jdk
Jiri Vanek
jvanek at redhat.com
Tue May 13 18:43:12 UTC 2014
Hi!
This patch allows ITW to run on any openjdk or oracle jdk(I have not yet tested with IBM, but will do)
This is probably not final version of the patch - as it break all tests using PluginAppletMocks - Its easy - tests do not run on bootclassapth, so the Ancestor of my Access class is in different classlaoder.
Moving tests to bootclassapth[2] do not help, as then even worse things happens. But it should be solution-able. Anyway I think that removing those 9 tests is small cost for get rid of dependence on icedtea (plugin-hole patch)
There is nasty override of run method. Inside is copypasted code and it is vulnerable. I will try to propose the change
- private runLoader()
+ runLoader()
to upstream. If they accept, then actually no hacking will be needed and the hook will be pretty clear (except refelction based getters and setter, which is quite ok...)
Opened to RFC,
J
(yah it really worked on plain upstream oraclejdk7 or openjdk7 :) )
[2]in makefile.am
@@ -1073,7 +1074,7 @@
cd $(NETX_UNIT_TEST_DIR) ; \
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \
- $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
+ $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar CommandLine $$class_names
if WITH_XSLTPROC
-$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html
-$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html
@@ -1093,7 +1094,7 @@
mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \
done ;\
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
- $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \
+ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \
-Dreport.html.out.encoding=UTF-8 \
-raw \
-sp $(NETX_SRCDIR) \
@@ -1158,7 +1159,7 @@
done ;\
class_names=`cat $(UNIT_CLASS_NAMES)` ; \
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \
- $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \
+ $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar CommandLine $$class_names ; \
for file in $(EMMA_MODIFIED_FILES) ; do \
mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \
mv $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(NETX_UNIT_TEST_DIR)/$$file ; \
@@ -1217,7 +1218,7 @@
$(BOOT_DIR)/bin/java \
$(EMMA_JAVA_ARGS) \
$(REPRODUCERS_DPARAMETERS) \
- -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \
+ -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar -cp $(EMMA_JAR) emmarun \
-raw \
-cp $(NETX_DIR)/lib/classes.jar \
-cp $(JUNIT_JAR) \
@@ -1333,7 +1334,7 @@
class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \
$(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) $(REPRODUCERS_DPARAMETERS) \
- -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \
+ -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar CommandLine $$class_names ; \
if [ -f $(JACOCO_JAVAWS_RESULTS) ] ; then \
jacoco_javaws_results=$(JACOCO_JAVAWS_RESULTS) ; \
$(JACOCO_OPERATOR_EXEC) \
@@ -1442,14 +1443,14 @@
cd $(TEST_EXTENSIONS_DIR) ; \
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \
$(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \
- -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess
+ -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar net.sourceforge.jnlp.ServerAccess
run-test-server-on-random-port: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \
stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp
cd $(TEST_EXTENSIONS_DIR) ; \
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \
$(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \
- -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess randomport
+ -Xbootclasspath:$(RUNTIME):$(NETX_DIR)/lib/classes.jar net.sourceforge.jnlp.ServerAccess randomport
-------------- next part --------------
A non-text attachment was scrubbed...
Name: allOpenJdk.patch
Type: text/x-patch
Size: 15911 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140513/a47d6d04/allOpenJdk-0001.patch>
More information about the distro-pkg-dev
mailing list