[rfc][icedtea-web] Reproducer for PR920
Jiri Vanek
jvanek at redhat.com
Tue Aug 21 04:15:54 PDT 2012
On 08/14/2012 05:30 PM, Adam Domurad wrote:
> On Tue, 2012-08-14 at 15:16 +0200, Jiri Vanek wrote:
>> On 07/06/2012 08:19 PM, Adam Domurad wrote:
>>> This reproducer encapsulates the problem behind PR920.
>>> A LinkageError occurs, complaining of duplicate class definition, when
>>> an extended class outside of a jar references a common class with its
>>> parent class. The common class attempts to load twice.
>> Thank you for this test, two nitpicks below.
Sorry for keeping blocking it.If you decide to ignore my below comment then feel free to push. But
as Custom reproducers are young and concept is not clear, I would recommend to think about it
earlier rather then later.
.
diff --git a/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile
b/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile
new file mode 100644
--- /dev/null
+++ b/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile
@@ -0,0 +1,27 @@
+TESTNAME=AppletExtendsFromOutsideJar
+
+DEPLOY_DIR=$(JNLP_TESTS_SERVER_DEPLOYDIR)
+
+SRC_FILES=AppletReferenceInSameJar.java AppletReferenceOutOfJar.java Referenced.java
+JAR_FILES=AppletReferenceInSameJar.class Referenced.class
+OUTER_FILE=AppletReferenceOutOfJar.class
+
+JAVAC_CLASSPATH=$(JNLP_TESTS_ENGINE_DIR):$(NETX_DIR)/lib/classes.jar
+JAVAC=$(BOOT_DIR)/bin/javac
+JAR=$(BOOT_DIR)/bin/jar
+
+prepare-reproducer:
+ echo PREPARING REPRODUCER $(TESTNAME)
+ $(EXPORTED_JAVAC) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES)
+ $(JAR) cvf $(TESTNAME).jar $(JAR_FILES)
+ cp $(OUTER_FILE) $(DEPLOY_DIR)/$(OUTER_FILE)
+ cp $(TESTNAME).jar $(DEPLOY_DIR)/$(TESTNAME).jar
+ echo PREPARED REPRODUCER $(TESTNAME)
+
+clean-reproducer:
+ echo CLEANING REPRODUCER $(TESTNAME)
+ rm -f $(OUTER_FILE)
+ rm -f $(JAR_FILES)
+ rm -f $(TESTNAME).jar
+ echo CLEANED REPRODUCER $(TESTNAME)
+
I must say I do not like this concept. Unless I'm wrong it is creating jars and classes in sources
dirs. Then during clean it can cause accidentally loses of sources :(. My advice here will be to do
the build in temp, then mv to deployditr or werever and then just delete in deploy dir. And then in
clean .. with some luck probably nothing?
Or at least to work wiht absolute paths so it will be clear where the work is happening.
What do you think?
If you want, push it as it is, but if you agree with me at least a bit, by push later you can fix
this one and your last one perhaps??
J.
More information about the distro-pkg-dev
mailing list