Re: [classlib][TestNG] groups of Harmony test

2006-09-02 Thread Richard Liang



Stepan Mishura wrote:

On 8/25/06, Richard Liang wrote:


Hello All,

Now let's talk about the TestNG groups. I have read the related threads
which posted by George, Vladimir Ivanov and Alexei Zakharov. All of them
are good discussion about TestNG groups.

IMHO, we may define Harmony test groups according the following 4
dimensions:

1) [Platform] os.any, os.platform id
*os.any* - group of tests which pass on any platform. IMHO, most of our
tests should be in this group.
*os.platform id* - group of tests which are designed for one specific
platform. A test may be in more than one of the groups. e.g.,
@Test(groups={os.win.IA32, os.linux.IA32})

   ** os.any and os.platform id are mutually exclusive, that is,
tests in os.any group should not be in os.win.IA32.

2) [Test state] state.broken, state.broken.platform id
*state.broken* - group of tests which fail on every platform, because
of bugs of tests or implementation. We need to fix the bugs of tests or
implementation to make them pass.
*state.broken.platform id* - groups of test which only fail on one
specific platform. A test may be in more than one of the groups. e.g.,
@Test(groups={state.broken.linux.IA32, os.broken.linux.IA64})

**state.broken.platform id group may be used as a convenient way
to indicate that a test is platform-specific. e.g., If we support 10
platforms, and one test are designed for 9 platforms except for MacOS,
instead of list 9 os.platform id, we can just use state.broken.MacOS



If a test is marked as *state.broken.MacOS* then it sounds like the
test/implementation should be fixed. IMO we should use tag 
os.platform id
to define explicitly valid platforms for the test so in this 
particular case

we should use 9 os.platform ids



Thank you,  Stepan.  This sounds reasonable, we should explicitly list 
the valid platforms.


Best regards,
Richard



3) [Test type] type.api, type.impl

*type.api* - group of tests which are tests for APIs in the Java
Specification
*type.impl* - groups of tests which are tests for Harmony-specific
implementation

** type.api and type.impl are also mutually exclusive.

4) [Test Level] level.unit, level.integration, level.system,
level.stress, etc. (Levels of Test refer to the increase in complexity
as moving through test cycle. )
   ** A test may be in more than one of the groups.
   ** In fact, some tests such as System tests are the verification of
the entire system.  Maybe we'll put them into a separate project. e.g.,
harmony/enhanced/SVT (System Verification Test).



Mixing different types of testing into one test-file doesn't look good 
for
me. I'd separate such tests by placing into different 
directories/packages.


Thanks,
Stepan.

If we want to run all the unit test for APIs on windows, we may use

TestNG groups to select the tests:
   groups
   run
   include name=os.any /
   include name=type.api /
   include name=os.win.IA32 /
   exclude name=state.broken /
   exclude name=state.broken.win.IA32 /
   /run
   /groups


Well, I think our most of existing tests are in the groups of {os.any,
type.api, level.unit}, and I have asked TestNG to add a new option
-groups for its JUnitConverter which allow us to specify the test
groups when migrate from JUnit test to TestNG test.

Thanks for reading so far, and I will highly appreciate your comments or
suggestion.  ;-)

--
Richard Liang
China Software Development Lab, IBM





--
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Richard Liang
China Software Development Lab, IBM 




-
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [classlib] ICU4C 3.6 and ICU4J 3.4.5 have been released]

2006-09-02 Thread Alexey Petrenko

It's interesting how many files from our list are fixed :)

SY, Alexey

2006/9/2, Richard Liang [EMAIL PROTECTED]:

Hello,

I will have a look at if there are any problems to move to the new
release of ICU. ;-)

Best regards,
Richard

 Original Message 
Subject:[icu-support] ICU4C 3.6 and ICU4J 3.4.5 have been released
Date:   Fri, 1 Sep 2006 11:45:08 -0700
From:   George Rhoten [EMAIL PROTECTED]
Reply-To:   ICU support mailing list [EMAIL PROTECTED]
To: [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED]



We are pleased to announce that ICU4C 3.6 was released today.  More
information about this release can be found on the following ICU download
page.

http://icu.sourceforge.net/download/3.6.html

ICU4J 3.4.5 was also released today.  More information about this release
can be found on the following ICU download page.

http://icu.sourceforge.net/download/3.4.html

The ICU4J 3.6 d01 draft release will be available next week.  Please stay
tuned for more information on that release.

George Rhoten
IBM Globalization Center of Competency/ICU  San José, CA, USA
http://www.icu-project.org/
http://icu.sourceforge.net/

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
icu-support mailing list - [EMAIL PROTECTED]
To Un/Subscribe: https://lists.sourceforge.net/lists/listinfo/icu-support



--
Richard Liang
China Software Development Lab, IBM






--
Alexey A. Petrenko
Intel Middleware Products Division


Re: [classlib] ICU4C 3.6 and ICU4J 3.4.5 have been released]

2006-09-02 Thread Andrew Zhang

Great news!

Hope many bugs in charset/io/util will disappear with latest icu release.

On 9/3/06, Richard Liang [EMAIL PROTECTED] wrote:


Hello,

I will have a look at if there are any problems to move to the new
release of ICU. ;-)

Best regards,
Richard

 Original Message 
Subject:[icu-support] ICU4C 3.6 and ICU4J 3.4.5 have been released
Date:   Fri, 1 Sep 2006 11:45:08 -0700
From:   George Rhoten [EMAIL PROTECTED]
Reply-To:   ICU support mailing list 
[EMAIL PROTECTED]
To: [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED]



We are pleased to announce that ICU4C 3.6 was released today.  More
information about this release can be found on the following ICU download
page.

http://icu.sourceforge.net/download/3.6.html

ICU4J 3.4.5 was also released today.  More information about this release
can be found on the following ICU download page.

http://icu.sourceforge.net/download/3.4.html

The ICU4J 3.6 d01 draft release will be available next week.  Please stay
tuned for more information on that release.

George Rhoten
IBM Globalization Center of Competency/ICU  San José, CA, USA
http://www.icu-project.org/
http://icu.sourceforge.net/

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
icu-support mailing list - [EMAIL PROTECTED]
To Un/Subscribe: https://lists.sourceforge.net/lists/listinfo/icu-support



--
Richard Liang
China Software Development Lab, IBM






--
Andrew Zhang
China Software Development Lab, IBM


Re: [drlvm]A subject to profiling instrumenting

2006-09-02 Thread zouqiong

I am now doing two things:
1. track accesses to the three things you refer. And just the same
implementation as some
rt_helper_***, but the following error happens:
java.exec:
/root/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_ia32.cpp:1621: void
Jitrino::Jet::Compiler::gen_patch(const char*, const
Jitrino::Jet::CodePatchItem): 断言cpi.target_offset != 0失败。
abort_handler()

I want to know some way to find out the reason for it. GDB seems not
helpful.

2. implementing the SEQUITIR algorithm. I will tell the performance about it
after I have finished it.


2006/9/1, Mikhail Fursov [EMAIL PROTECTED]:


Hi Zou,
At last I read the papers you sent and I hope now I can answer to your
questions more precisely.
I think it's a good idea to start with JET just to test the base
algorithms
implementation: SEQUITIR, GC support and so on.
Once we have framework working we can easily port everything to OPT and
measure the performance gain.
IMO what you need in JET is primitive and not optimized a read-barrier
implementation: track all accesses to
1) static variables (getstatic opcode)
2) object fields (getfield)
3) array elements (aaload)


Once you are able to dump memory accesses of these opcodes you can build


SEQUITIR gramma and detect hot traces.
To trace this operations you can write a simple intrinsic function to
Jitrino sources and call it from JET with 'gen_call_novm' method.
I can help you to implement these barriers if you need.

BTW, I do not sure if SEQUITIR performance is enough to be used in
runtime.
Have you already done any estimation what does it cost? I.e. how many
instruction must me executed during a tracing to add new symbol (or
address)
to SEQUITIR gramma?


On 8/31/06, zouqiong [EMAIL PROTECTED] wrote:

 
  Recording mem-access patterns is a performance-oriented task, am I
  right?


 yes, perfect right.

 How do you think, should patterns depend on certain JIT and GC
  tightly? I suspect they depend heavily on GC, and not-so-much on
  JIT. Though, I should say that JET uses a very cheap register
  allocation mechanism, so it should negatively influence on the number
  of memory accesses, and heavily. If you are more oriented on
  performance you should be rather using OPT for that. But, yet, I do
  not mind if you start with a more easy-to-use JET :)


 I think memory access pattern depends heavily on GC. I want to use
 JET to instrument some profile to get the access sequence of OBJECTS.
 Making use of GC to analyze the sequence is what to do next. I think you
 are an expert on GC. Am I right? :-)
 I don`t choose the OPT, because I think JET is much more easier and
faster
 than OPT. We shouldn`t waste too much time in instrumenting. Is it?


 Are you trying to implement some known techniques or is your work a
  subject of ongoing research? What papers can I read on this to be more
  acquainted with what you are doing?


 Yes, I want to first implement Chilimbi`s work in DRLVM. The following
 list
 mainly line out the techniques:
 1.Efficient Representations and Abstractions for Quantifying and
 Exploiting
 Data Reference Locality.
 2.Bursty Tracing: A Framework for Low-Overhead Temporal Profiling
 3.Dynamic Hot Data Stream Prefetching for General-Purpose Programs
 4.Profile-guided Proactive Garbage Collection for Locality Optimization

 If you want to know it more quickly, just reading the first three paper.


 --
  Egor Pasko, Intel Managed Runtime Division
 
 
  -
  Terms of use : http://incubator.apache.org/harmony/mailing.html
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 


 --
 Best Regards,
 Qiong,Zou




--
Mikhail Fursov





--
Best Regards,
Qiong,Zou