Early Access Build Test Results

Balchandra Vaidya balchandra.vaidya at oracle.com
Mon Jan 14 04:02:25 PST 2013



On 01/14/13 07:36 AM, Stuart Marks wrote:
> On 1/11/13 2:54 PM, Jonathan Gibbons wrote:
>> I suggest there should be a new test/Makefile target for "run all 
>> recommended
>> tests in a single jtreg run".
>
> I think this would be ideal. Implicitly, then, Balchandra's script 
> would just invoke this makefile target, as would other internal 
> build/test systems. This would eliminate copying of information about 
> these targets out of the Makefiles into external scripts, where 
> they'll inevitably get out of date.
>
> I say this is ideal, but this is probably more difficult to achieve 
> than one might think. Not impossible, but probably somewhat tedious.
>
> The "test sets" are defined redundantly in *two* properties files, 
> TOP/make/jprt.properties and TOP/jdk/make/jprt.properties. They are 
> mostly the same, though there are some small differences. I'm not sure 
> if that's intentional. Note also that these aren't plain properties 
> files; they use some kind of variable interpolation and string 
> substitution syntax I'm not familiar with.
>
> Then, there are the makefiles. Oh, the makefiles. Mainly, they are 
> TOP/test/Makefile, TOP/jdk/test/Makefile, and 
> TOP/langtools/test/Makefile. (I don't know how the JVM tests are 
> invoked; probably TOP/hotspot/test/Makefile.)
>
> It looks to me like each of the Makefiles defines several individual 
> test targets, each of which invokes a run of jtreg. Most of these are 
> in the jdk repo. There seem to be targets that invoke "all" of the 
> tests (but not test sets), but I think the "all tests" target just 
> depends on the individual targets, so it'll still invoke jtreg once 
> for each individual target.
>
> Some cleaning up and rearrangement is called for here. There is some 
> redundancy, but it would be preferable to have all the redundancy 
> within files in the forest (as painful as it is) than to have 
> redundant information copied into external scripts.
>
> In short, it's a mess.


I think you made all valid points. Here are some my observations:


Issue 1: As you described, jdk_all and jdk_default targets depends on 
individual
targets and invoke jtreg once. The issue is, the make seems to exit with 
Error when
there is an error(or failure!) in any individual target! Effectively, I 
never got
jdk_all and jdk_default targets completed start to finish.


Issue 2: jdk_all target includes awt and swing tests.  There are some 
instability
at the moment and difficult to get consistent results. Some awt tests 
may required
to be run on OS console.


Issue 3: jdk_default target do not include targets such as jdk_bean1, 
jdk_bean2,etc.
and those tests are good and runs without any issue.  That is, using 
jdk_default target
runs many fewer tests (See Issue 1, however) than we would like to run.


Therefore, I tried

1) running individual targets (wrapped in a shell script) and merging 
test results
  (jtreg -ro). I managed to get to run ~3600 tests.


2) selected dir.list  and passed it to jtreg directly. I managed to run 
~4000 tests. So,
started to publish this option.


Obviously, this is not an ideal/clean solution because tests added under 
a new
directory or under a new make target may not be executed.  So, centrally 
managed
'dir.list' (include stable directory) might help.


Thanks
Balchandra



>
> s'marks


More information about the quality-discuss mailing list