harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Kleymenov" <kleyme...@gmail.com>
Subject Re: [bti] Harmony Build and Testing Infrastructure - Directions for further development
Date Thu, 17 May 2007 10:04:30 GMT
On 5/17/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> Can we work on getting some valid instructions for what's currently
> there? I've tried doing what the README [1] suggests, but it just
> doesn't work.
> Under "Using BT Infrastructure" it has steps for setting stuff up, but
> I can't even get passed step 2. Granted, the document says something
> about "vision", but I'd like to see some instructions that actually
> work, so I can get it to work.

You are right, the documentation is obsolete. I'll try to find a time
to update it. Now, to start work with BTI the following steps should be
performed:

1. Checkout the BTI repository:

  $ svn checkout -r HEAD
http://svn.apache.org/repos/asf/harmony/enhanced/buildtest/branches/2.0

2. Tune environment variables in buildtest.(bat|sh)

3. Perform BTI installation (now, it just creates
framework.local.properties file)

  $ buildtest install

4. Configure framework in framework.local.properties file (specify mail
addresses for notifications)

5. Do setup step. It will generate required-parameters.properties file
and ask to provide values for required parameters (if they are needed).

  $ buildtest -Dtest.suites="classlib,drlvm,scimark" setup

Note: this combination of selected test suites won't demand any required
parameters because BTI will automatically set them up.

6. Do run:
  $ buildtest -Dtest.suites="classlib,drlvm,scimark" run
for single run, or
  $ buildtest -Dtest.suites="classlib,drlvm,scimark" run-cc
for CC-controlled run.

7. Enjoy?

>
> Additionally, I find that having two targets "install" and "setup" in
> the main build file to be very confusing. Which should be run first?
> "install" doesn't seem to do anything. "setup" runs, but bombs out the
> first time saying that required parameters are needed, but the
> 'required-parameters.properties' file isn't generated until after
> "setup" is run. Ahh, the insanity!

The supposed (but not currently fully implemented) BTI usage is as follows:

1. User makes non-recursive checkout of BTI:

  $ svn checkout -N ...

it helps us to avoid checkout of all the test sources from ${BTI_ROOT}/tests
directory (we just do not need all of them).

2. Then User tunes environment in buildtest.(bat|sh) and performs
the BTI installation:

  $ buildtest install

it:
  - instals the BTI on local workstation (does checkout of scripts
    directory and makes necessary configuration files such as
    framework.local.properties)
  - checkouts test suites adaptors (${BTI_ROOT}/adaptors) which are the
    glue between BTI execution framework and actual Test Suites.

3. Then User performs the setup of test run (selects the Test Suites to execute)

  $ buildtest -Dtest.suites="classlib,drlvm,scimark" setup

it:
  - selects test suites to launch
  - downloads all required external dependencies (if local substitution
    were not provided)
  - process required parameters for selected suites, place them into
    required-parameters.properties file and, if there are some unspecified
    parameter values, demand them from User (you have been asked for
    them exactly at this point).

4. If necessary, User:
  - provides the values for required parameters in
    required-parameters.properties file
  - configures BTI framework in framework.local.properties file (such as
    mail addresses for notifications, ports, log level, and so on)

5. Finally, User launches the Test Run execution:

  $ buildtest run

  - it will call adaptors' "setup" targets for all of the selected test
    suites, and then consequently 'run' them

or

  $ buildtest run-cc

  - it will call adaptors "setup" targets for all of the selected test
    suites, and then launch CC-controlled continuous execution
    process.

6. To select and execute another suites, go to step 3.


This is an ideal view of BTI's Use-Case. I've described this task as a
high-priority direction of further BTI development.
I'm going to work on it after several bugfixings and there is a time to
discuss this Use-Case.

Thanks for feedback,
Alexander

Mime
View raw message