[rfc] [icedtea-web] reproducers with custom makefile

Jiri Vanek jvanek at redhat.com
Tue Jun 26 02:52:22 PDT 2012


On 06/25/2012 11:05 PM, Adam Domurad wrote:
> Thanks for the changes !
>
> Yes, I can review this. The Meld tool definitely helps.
> The Makefile logic all seemed good to me. Small comments inline.
> Otherwise OK for head from me.

Pushed - including all typo/content changes you have suggested.

>
> Side note about my reproducer:
>    There was a slight error in the reproducer I originally gave you, but
> now I have it working correctly with the new system. (the folder name in
> the .html file did not match. Note the reproducer fails with out my
> patch.)

Ok. I have pushed engine, pushing of your reproducer is on your own;)

Thanx a lot for cooperation on this issue!

J.

>
>
> On Mon, 2012-06-25 at 20:36 +0200, Jiri Vanek wrote:
..snip...
>>   	  simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
> I think Danesh noted this? but these are not all simple reproducers (AFAIK)

Yap, he did.... But Ihave left it here intentionally. It is moreover just name of variable... 
Although something like selectedReprodcuers or something like it is better, I'm leaving it now as it is.

>> @@ -638,14 +643,27 @@
>>   	  IFS="$$IFS_BACKUP" ; \
>>   	  for dir in "$${simpleReproducers[@]}" ; do \
>>   	    $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
>> -	    -d $(JNLP_TESTS_ENGINE_DIR) \
>> -	    -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \
>> +	      -d $(JNLP_TESTS_ENGINE_DIR) \
>> +	      -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \
>>   	    "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \
>>   	  done ; \
>>   	done ; \
>>   	mkdir -p stamps&&  \
>>   	touch $@
>>
>> +stamps/netx-dist-tests-copy-resources.stamp: stamps/junit-jnlp-dist-dirs
>> +	types=($(ALL_REPRODUCERS)); \
>> +	for which in "$${types[@]}" ; do \
>> +	  . $(abs_top_srcdir)/NEW_LINE_IFS ; \
>> +	  simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \
> These are not all simple reproducers

same here I guess..


>> +	  IFS="$$IFS_BACKUP" ; \
...snip...
>>   Directories are honored in srcs and in resources, but noty in testcases.
> Not part of patch but noty ->  not : ) Thanks
>>   Directories in signed hande their content in similar way as simle's content is handled,
>>    but in addition final jars are signed with simple testkey.
> Not part of patch but hande ->  handle, simle's ->  simple's  : ) Thanks
>> -Files in advanced directory have to care about themselves, but even those can have some
>> - parts inside simple directory, so some parts of them are processed automatically.
>> - There are three reproducers – simpletest1, simpletest2 and deadlocktest, which tests
>> +Files in custom directory have to care about compilation/packaging and deploying of srcs
>> + directory themselves. This can affect also testcase and resources, but testcase and
>> + resources directoies are still fulfilling its purpose for simplification
> directoies ->  directories. Instead of "testcase and resources
> directoies are still fulfilling its purpose for simplification" maybe
> "testcases and resources are still automatically prepared like they are
> in the other test types."
>> +There are three reproducers – simpletest1, simpletest2 and deadlocktest, which tests
>>    test’s suite itself and serve as examples of behaviour.
>>
>>   Directory "signed" is listed in Makefile.am. You can specify as much to-be-signed
>>   directories as you want. And jars in each of those signed directories will be
>>   signed  by their's own unique key (number of signed directories == number of certificates).
>>   Do not forget to add each this directory into list n Makefile.am
>> +
>> +If the name of a folder in simple/signed is composed of dots, then its contents
>> + are deployed from under a directory structure such that each part evaluates to
>> + a folder. For example, my.dir.reproducer/ will be deployed as jnlp_test_server/my/dir/reproducer.jar.
>> +
>> +Inside custom directory are expected directories which are handling themselves.
>> + The only expected file is custom/reproducerName/srcs/Makefile. Upon
> 'The only expected file' could be worded better as 'The only strictly necessary file ...'
>> + all custom/*/srcs are then launched make prepare-reproducer and during cleaning make
>> + clean-reproducer Those targets are run after all simple and signed reproducers
>> + are prepared, so they can reuse as much code as possible including eg certificates or theirs
>> + jars/resources or dependencies to keep this custom makefiles
> Considering the direction the patch took, I would say something like: "
> Those targets are run after all simple and signed reproducers are
> prepared, so they can reuse components of the simple and signed reproducers, eg certificates or dependencies."
>
>> + as simple as possible. Some comment in makefile or readme file is recommended for
>> + each custom reproducer to tell dependencies and what it does.
> This can be taken out as the current system lets the user package
> dependencies for the most part. Readme's should be included in all
> tests that have dependencies in other tests, however.
>> +Because of automake only small set of variables from icedtea-web Makefile is
>> + available for custom makefiles, but feel free to export others if needed.
>> \ No newline at end of file

Yah:)) Included.
>




More information about the distro-pkg-dev mailing list