harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Qiu (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-4932) [buildtest][emma_instrument] A new adatpor for instrumenting a jre for testing to get classlib's coverage report
Date Fri, 12 Oct 2007 06:21:50 GMT
[buildtest][emma_instrument] A new adatpor for instrumenting a jre for testing to get classlib's
coverage report

                 Key: HARMONY-4932
                 URL: https://issues.apache.org/jira/browse/HARMONY-4932
             Project: Harmony
          Issue Type: New Feature
          Components: build - test - ci
         Environment: Linux ubuntu
Windows XP
            Reporter: Sean Qiu

Archive Content

This archive contains scripts for instrumenting a jre for generating coverage report.
The directories structure within BT trunk directory is as follows:

+<BTI trunk>/
|-+adaptors/                        - scripts connecting test suites to BTI (called "adaptors")
|  |
|  |-+emma_instrument/        - emma_instrument suite adaptor directory
|     |
|     |--adaptor.xml                - emma_instrument suite adaptor
|     |
|     |--parameters.xml             - parameters file
|     |
|     |--EMMA.BTI.README.txt       - this readme file
|-+tests/                           - configuration files for customized emma instrumenting
   |-+muave_test/                   - emma_instrument configure directory
      |--bootclasspath.properties              - customized file to include instrumented classes
and emma.jar to bootstrap classpath
      |--kernel.list                           - the list file of kernel classes which used
by emma when instrumenting
      |--all.api.list                          - the list file of all the public API classes
      |--exclude.api.list                      - the list file of classes in luni-kernel.jar
and security-kernel.jar, those classes can not be collected,
                                                 we must exclude them. Those classes are NOT
the kernel classes mentioned befor

Running Emma instrumenting on Harmony JRE 

1. Follow instructions from <BTI trunk>/README.txt to satisfy general BTI
   pre-requisites (install necessary software, specify environment variables,
   specify proxy settings if necessary).

2. Unpack this archive to <BTI trunk> directory

3. Configure Emma instrument for BT

   * User can assign a disired jre runtime to instrument if necessary.
     You can assign emma_instrument.parameters.required.normal.jre.home in <BTI trunk>/framework.local.properties,
     or change the ${normal.jre.dir} in <BTI trunk>/adaptors/emma_instrument/parameters.xml
     for the wanted test list to run.

4. Perform setup:

     buildtest -Dtest.suites="emma_instrument" setup

5. Configure BT for Emma instrument:

   * There is no need to run this adaptor more than one time. The instrumented jre can be
used repeatly.

6. Build classlib and drlvm and run Emma instrument Unit Test on it:

     buildtest -Dtest.suites="emma_instrument" run

7. Using instrumented jre to run test:

   * You will find a instrumented jre in <BTI trunk>/build/results/emma_instrument/jre.
     Other project can depends on it by using it shared parameter of jre.dir and jvm.location

Known issues

1. The drlvm can not load the instrumented classes, it will throw an error:
   java/lang/ClassFormatError : com/vladium/emma/rt/RT : invalid magic
   Using j9vm is OK to generate emma  files to get coverage report.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message