From: Randy Witt <randy.e.witt@linux.intel.com>
To: Humberto Ibarra <humberto.ibarra.lopez@intel.com>,
openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] scripts:/oe-selftest: Use timestamp instead of test names in coverage data file
Date: Wed, 23 Mar 2016 14:46:12 -0700 [thread overview]
Message-ID: <56F30EA4.8040207@linux.intel.com> (raw)
In-Reply-To: <1458779522-3127-1-git-send-email-humberto.ibarra.lopez@intel.com>
On 03/23/2016 05:32 PM, Humberto Ibarra wrote:
> This fixes the problem by changing the name to the coverage data file,
> using the timestamp as an identifier.
Fixes what problem?
>
> The name for the coverage data file is constructed based on the tests
> ran; this has created a couple of issues so far, affecting coverage report.
>
> If --run-tests-by option is given, the data file name won't have any
> identifier, causing following runs to overwrite themselves. On the
> other hand, if too many tests are given, the file name exceeds linux
> limits and fails to store the coverage data all together.
>
> [Yocto #9253]
>
> Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez@intel.com>
> ---
> scripts/oe-selftest | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/oe-selftest b/scripts/oe-selftest
> index d18348d..9b61bfa 100755
> --- a/scripts/oe-selftest
> +++ b/scripts/oe-selftest
> @@ -364,16 +364,21 @@ def list_tags():
>
> print 'Tags:\t%s' % ', '.join(str(x) for x in tags)
>
> -def coverage_setup(run_tests, run_all_tests, coverage_source, coverage_include, coverage_omit):
> +def coverage_setup(coverage_source, coverage_include, coverage_omit):
> """ Set up the coverage measurement for the testcases to be run """
> + import datetime
> + import subprocess
> builddir = os.environ.get("BUILDDIR")
> + pokydir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
> + curcommit= subprocess.check_output(["git", "--git-dir", os.path.join(pokydir, ".git"), "rev-parse", "HEAD"])
> coveragerc = "%s/.coveragerc" % builddir
> data_file = "%s/.coverage." % builddir
> - data_file += ((run_tests and '.'.join(run_tests)) or
> - (run_all_tests and "all_tests") or "")
> + data_file += datetime.datetime.now().strftime('%Y%m%dT%H%M%S')
> if os.path.isfile(data_file):
> os.remove(data_file)
> with open(coveragerc, 'w') as cps:
> + cps.write("# Generated with command '%s'\n" % " ".join(sys.argv))
> + cps.write("# HEAD commit %s\n" % curcommit.strip())
> cps.write("[run]\n")
> cps.write("data_file = %s\n" % data_file)
> cps.write("branch = True\n")
> @@ -586,7 +591,7 @@ def buildResultClass(args):
> # value indicates where the coverage configuration file resides
> # More info on https://pypi.python.org/pypi/coverage
> if not os.environ.get('COVERAGE_PROCESS_START'):
> - os.environ['COVERAGE_PROCESS_START'] = coverage_setup(args.run_tests, args.run_all_tests, args.coverage_source, args.coverage_include, args.coverage_omit)
> + os.environ['COVERAGE_PROCESS_START'] = coverage_setup(args.coverage_source, args.coverage_include, args.coverage_omit)
>
> # Use default site.USER_SITE and write corresponding config file
> site.ENABLE_USER_SITE = True
>
prev parent reply other threads:[~2016-03-23 21:46 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-24 0:32 [PATCH] scripts:/oe-selftest: Use timestamp instead of test names in coverage data file Humberto Ibarra
2016-03-23 21:46 ` Randy Witt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56F30EA4.8040207@linux.intel.com \
--to=randy.e.witt@linux.intel.com \
--cc=humberto.ibarra.lopez@intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.