On Jan 26, 2007, at 6:50 AM, Vladimir Ivanov wrote:

Hello everyone,

while we have more or less stable CC it is time to do work to extend Harmony
testing :)
Yes, I know that we have some gap in stability on x86_64 platform and on Red
Hat Linux so CC runs tests in the 'perTest' mode but anyway I want to
summarize our discussions about testing and continue extend testing
capability.



The current buildtest infrastructure includes only one case for testing: cyclic run of Harmony pre-integration tests. Also we have jira issues with iterative runs, eclipse "hello world" and JEDIT scenarios. And community members time to time runs applications and report their execution status.



The idea was to collect all test-run scripts into buildtest directory and
implement configurable CC.

Yep!


Created jira should be integrated to the buildtest infrastructure and
buildtest module should be extended by different application scenario tests, reliability tests etc. In general case we will have a long CC cycle (up to 1 week J ) and results of this runs should be processed with other procedure (for example, results should be upload to harmonytest.org and than jira
issues should be created for all failures).

Right - we should probably try to define what we mean by "short", "medium" and "long" scenarios, and I suggest:

1) what we have now (build and unit test drlvm, classlib) as the "short" cycle for fast failure notification

2) test classlib w/ drlvm and J9 + the iterative test cycle as the "medium" cycle

3) everything you talk about above as the "long" cycle




It requires some 'standard' interface for all integrated scripts. I like
classlib interface so how about:
 - call of "ant setup;ant" will run all available scripts;
- call of "ant -Dmodule=hit setup;ant" will run current version of CC –
Harmony integration tests;
- call of "ant -Dmodule=eut setup;ant" will run Eclipse unit test etc.


Note, in this case each module should implement proper 'setup' target and has configuration for CC. The root-script will iterate over all modules to
call their 'setup' and this setup should include whole test setup
(downloading software, adding modules cc-configuration to working
configuration etc).

Is it OK?

I dunno - this sounds like disjoint and separate CC runs, rather than a CC run with multiple projects.

For example, I'd like to have a set of "modules", which would be incomplete cc config files, that somehow get glommed into a bigger cc file - maybe the config.xml would have some kind of include mechanism.

Suppose that we have :

 trunk/cc/
    config.xml
    modules/
       default_module.xml
       hut_module.xml
       eut_module.xml
       iterative_module.xml
       dacapo_module.xml
       specjbb_module.xml
       short_module.xml
       medium_module.xml
       long_modules.xml

so then I could do :

  $ ant

to get what we have now - runs the default module - or

  $ ant -Dmodules=hut,eut,dacapo

to run those...

Something like "medium_module.xml" would look like (the following is 'psuedo-code') :

    <includeconfig name="default_module.xml"/>
    <includeconfig name="dacapo_module.xml"/>


so that you can nest this as you want.


If nobody objects I'll start restructuring of buildtest module and will try
to integrate one from extensions.

Please describe how you want to do it.



Thanks, Vladimir



PS I think the resulting structure should be easy to extend and may looks
like this:

buildtest

|--config  (default CC configuration to build classlib and DRLVM)

|--hit (CC configuration to run Harmony classlib&DRLVM tests)

|--eclipse

    |-- eut (setup and CC configuration to run eclipse non-interactive
tests)

    |-- eclipse3.1.1

        |-- some scenario

|-- build.xml (common setup + call of module's 'setup')


Interesting. I think one issue is that it seems like heavy lifting to add a new module - each module becomes a "peer". What do you think of the other approach above?

Either way, we don't want hit, eclipse, etc as peers. If anything, they should go in a modules/ directory...

geir

Reply via email to