Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 94099 invoked from network); 13 Sep 2007 09:36:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Sep 2007 09:36:21 -0000 Received: (qmail 68870 invoked by uid 500); 13 Sep 2007 09:36:13 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 68845 invoked by uid 500); 13 Sep 2007 09:36:13 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 68836 invoked by uid 99); 13 Sep 2007 09:36:13 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Sep 2007 02:36:13 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of alexey.v.varlamov@gmail.com designates 209.85.198.191 as permitted sender) Received: from [209.85.198.191] (HELO rv-out-0910.google.com) (209.85.198.191) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Sep 2007 09:36:11 +0000 Received: by rv-out-0910.google.com with SMTP id k20so358302rvb for ; Thu, 13 Sep 2007 02:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=Rc9jy0u4SsHE5OGQw2RRIu/ngrlpMy5lXrFZjIecsVU=; b=LUXs6Z6F75aSg9FaxO12kUbCz9jay9c7aEVy4LjPgKYygw3ocTUPXdhLzyLwB43wP5L5MxD3BtYOnlR9+66b9SChDaTmzii12gqJ9L1EfOChtHl3MJW/iBpzWnJTbOX3KueUJJ3v++fhJ8qncSSkaF7t5+a8+GWWkrqOzYlSZ/0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ofuoqhS8d6SRNUJios+UhUGsl39sx8e8ls2oql6Zkin1Ktt1IY+Ub3CEhh8BnTEMOSSHq3jt4GuvwX8zK/puDc0GM45GuR6Q2GLsX6YntrGI/n6GQ68xGAhB3M4toLBF4B076XoRJv+sYq1QhWdqmf9Gs8Fp4yC0AYxDzxXeZnw= Received: by 10.142.82.17 with SMTP id f17mr43242wfb.1189676150859; Thu, 13 Sep 2007 02:35:50 -0700 (PDT) Received: by 10.143.9.6 with HTTP; Thu, 13 Sep 2007 02:35:50 -0700 (PDT) Message-ID: Date: Thu, 13 Sep 2007 16:35:50 +0700 From: "Alexey Varlamov" To: dev@harmony.apache.org Subject: Re: [build test] Integrate Emma into BTI 2.0 to get code coverage report In-Reply-To: <6e47b64f0709122318t69886392oa81b3679dc179497@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <94d710af0709092338t72358427ua81d7e8d87ed1216@mail.gmail.com> <6e47b64f0709102022j86cddb7te6be78a49ff5280a@mail.gmail.com> <94d710af0709102253j6eeba934q6c0aa2b4c5212503@mail.gmail.com> <6e47b64f0709112157o11d85245of4baecfca55273b@mail.gmail.com> <94d710af0709122056t30b2632fxb5540c6863b67cc7@mail.gmail.com> <6e47b64f0709122318t69886392oa81b3679dc179497@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Stepan, IMO current way of snapshot results publishing is a workaround basically, due to lack of adequate support in BTI to the moment. We should not hack snapshot adapter each time new suite/adapter is added or changed. So we need to extend BTI for more flexible and powerfull publishing facilities in some time (presumably after M3 competion), and then get rid of that custom publishers in snapshot. OTOH I agree, the way Sean suggests is too specific; I'd prefer keep in BTI most general functionalities. So there could be 2 adaptors, 1st instruments JRE and constitutes a "super-suite" for tests like Stepan suggested, and 2nd depends on all tests and generates summary report in the end. A couple of issues lies on this way, though: 1) How to configure emma for each suite, leaving an adaptor of that suite intact? I.e. which kernel-classes-list to take, where to store coverage report, etc - looks like Sean has some answers or ideas here; anyway there should not be more than light massaging of emma code. Gathering total cumulative coverage report is enough, I think. 2) Currently BTI handles suites dependency strictly, always skipping dependent suite run if it's super-suite has failed. So if some test fails, coverage adapter won't be run. We may just add customization to BTI to enable simple run ordering vs strong dependency. -- Alexey 2007/9/13, Stepan Mishura : > On 9/13/07, Sean Qiu wrote: > > We all know the scenario for emma is : > > 1) instument jre > > 2) run test within the instumented jre and generate coverage file > > 3) collect the coverage file and generate the coverage report > > > > For further study of emma, i have two concerns: > > 1. We have to maintain this task outside the adaptor, since it need to run > > the (3) step after test. > > This cannot be achieved elegantly by a single adaptor but add a new > > target in main script like "run-cc" > > Agree? Commnets? > > > > 2. If we donot change the existing adaptor , the coverage file will be > > placed in the dir where test is invoked. > > I think we should locate them in a fixed place at least, like > > build/results/${test_suites}. > > A alternative solution is put them all in a stand along dir, like > > build/emma > > For both of them, we need add a new line in existing adaptor to tell > > emma where we want to place our coverage file. > > Is this modification acceptable? > > > > If nobody object, i will start to: > > 1) Add the emma target in main script > > 2) Try to put coverage file into a stand along dir > > > > Any suggestions are welcomed. > > > > I think that no changes to the framework or existing adaptors are > needed. Collection of coverage files and report generation for each > suite can by done by emma publisher (like snapshot testing does). > > So I'd implement emma adaptor in the way similar to the snapshot > testing, for example: > > 1) emma setup target - downloads and unpacks emma > 2) emma run target - instruments jre > > 3) emma adaptor depends on jre to be instrumented (it may be snapshot, > drlvm or hdk project) > (i.e. emma.parameters.depends=(snapshot|drlvm|hdk)) > > 4) all suites depend on emma project. > ( .parameters.required.tested.runtime=${emma.parameters.shared.instrumented.jre}) > > 5) create custom config.xml for CC with emma publisher for suites > (..parameters.cc.config=${adaptors.dir}/emma/custom-config.xml) > > Thanks, > Stepan. >