[Piglit] [PATCH] framework: add support for a "timeout" status
Dylan Baker
baker.dylan.c at gmail.com
Fri Apr 25 08:32:51 PDT 2014
This looks good to me.
Reviewed-by: Dylan Baker <baker.dylan.c at gmail.com>
On Thursday, April 24, 2014 16:39:02 Thomas Wood wrote:
> Signed-off-by: Thomas Wood <thomas.wood at intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> framework/log.py | 3 ++-
> framework/status.py | 12 ++++++++----
> framework/summary.py | 6 ++++--
> framework/tests/status_tests.py | 3 ++-
> framework/tests/summary_tests.py | 5 ++++-
> templates/index.css | 5 ++++-
> 6 files changed, 24 insertions(+), 10 deletions(-)
>
> diff --git a/framework/log.py b/framework/log.py
> index d045847..e5154aa 100644
> --- a/framework/log.py
> +++ b/framework/log.py
> @@ -39,7 +39,8 @@ class Log(object):
> self.__generator = (x for x in xrange(self.__total))
> self.__pad = len(str(self.__total))
> self.__summary_keys = set(['pass', 'fail', 'warn', 'crash', 'skip',
> - 'dmesg-warn', 'dmesg-fail', 'dry-run'])
> + 'dmesg-warn', 'dmesg-fail', 'dry-run',
> + 'timeout'])
> self.__summary = collections.defaultdict(lambda: 0)
> self.__lastlength = 0
>
> diff --git a/framework/status.py b/framework/status.py
> index aa42487..8ab72f7 100644
> --- a/framework/status.py
> +++ b/framework/status.py
> @@ -40,8 +40,8 @@ dmesg-warn
> warn
> dmesg-fail
> fail
> -crash
> timeout
> +crash
>
> SKIP and NOTRUN are not factored into regressions and fixes, they are
> counted seperately. They also derive from a sublcass of Status, which
> always returns @@ -63,6 +63,7 @@ __all__ = ['NOTRUN',
> 'DMESG_WARN',
> 'DMESG_FAIL',
> 'SKIP',
> + 'TIMEOUT',
> 'ALL']
>
>
> @@ -81,7 +82,8 @@ def status_lookup(status):
> 'crash': CRASH,
> 'dmesg-warn': DMESG_WARN,
> 'dmesg-fail': DMESG_FAIL,
> - 'notrun': NOTRUN}
> + 'notrun': NOTRUN,
> + 'timeout': TIMEOUT}
>
> try:
> return status_dict[status]
> @@ -223,7 +225,9 @@ FAIL = Status('fail', 30)
>
> DMESG_FAIL = Status('dmesg-fail', 40)
>
> -CRASH = Status('crash', 50)
> +TIMEOUT = Status('timeout', 50)
> +
> +CRASH = Status('crash', 60)
>
> # A tuple (ordered, immutable) of all statuses in this module
> -ALL = (PASS, WARN, DMESG_WARN, FAIL, DMESG_FAIL, CRASH, SKIP,
NOTRUN)
> +ALL = (PASS, WARN, DMESG_WARN, FAIL, DMESG_FAIL, TIMEOUT, CRASH,
SKIP,
> NOTRUN) diff --git a/framework/summary.py b/framework/summary.py
> index 47138bf..9228330 100644
> --- a/framework/summary.py
> +++ b/framework/summary.py
> @@ -342,8 +342,9 @@ class Summary:
> Private: Find the total number of pass, fail, crash, skip, and warn
> in the *last* set of results stored in self.results.
> """
> - self.totals = {'pass': 0, 'fail': 0, 'crash': 0, 'skip': 0, 'warn':
> 0, - 'dmesg-warn': 0, 'dmesg-fail': 0}
> + self.totals = {'pass': 0, 'fail': 0, 'crash': 0, 'skip': 0,
> + 'timeout': 0, 'warn': 0, 'dmesg-warn': 0,
> + 'dmesg-fail': 0}
>
> for test in self.results[-1].tests.itervalues():
> self.totals[str(test['result'])] += 1
> @@ -472,6 +473,7 @@ class Summary:
> " fail: {fail}\n"
> " crash: {crash}\n"
> " skip: {skip}\n"
> + " timeout: {timeout}\n"
> " warn: {warn}\n"
> " dmesg-warn: {dmesg-warn}\n"
> " dmesg-fail: {dmesg-fail}".format(**self.totals))
> diff --git a/framework/tests/status_tests.py
> b/framework/tests/status_tests.py index c1d8c86..599225f 100644
> --- a/framework/tests/status_tests.py
> +++ b/framework/tests/status_tests.py
> @@ -31,7 +31,8 @@ import framework.status as status
>
> # Statuses from worst to last. NotRun is intentionally not in this list and
> # tested separately because of upcoming features for it
> -STATUSES = ["pass", "warn", "dmesg-warn", "fail", "dmesg-fail", "crash"]
> +STATUSES = ["pass", "warn", "dmesg-warn", "fail", "dmesg-fail",
"timeout",
> + "crash"]
>
> # all statuses except pass are problems
> PROBLEMS = STATUSES[1:]
> diff --git a/framework/tests/summary_tests.py
> b/framework/tests/summary_tests.py index 1ad51b5..a573e39 100644
> --- a/framework/tests/summary_tests.py
> +++ b/framework/tests/summary_tests.py
> @@ -51,7 +51,10 @@ def test_summary_add_to_set():
> ('skip', 'skip', 'skipped'),
> ('notrun', 'fail', 'problems'),
> ('fail', 'notrun', 'problems'),
> - ('pass', 'fail', 'problems')]:
> + ('pass', 'fail', 'problems'),
> + ('timeout', 'pass', 'fixes'),
> + ('pass', 'timeout', 'regressions'),
> + ('pass', 'timeout', 'problems')]:
> check_sets.description = "{0} -> {1} should be added to
> {2}".format( ostat, nstat, set_)
>
> diff --git a/templates/index.css b/templates/index.css
> index 577370c..3389738 100644
> --- a/templates/index.css
> +++ b/templates/index.css
> @@ -36,7 +36,7 @@ td:first-child > div {
> background-color: #c8c838
> }
>
> -td.skip, td.warn, td.fail, td.pass, td.trap, td.abort, td.crash,
> td.dmesg-warn, td.dmesg-fail { +td.skip, td.warn, td.fail, td.pass,
> td.trap, td.abort, td.crash, td.dmesg-warn, td.dmesg-fail, td.timeout {
> text-align: right;
> }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140425/49d8054d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140425/49d8054d/attachment-0001.sig>
More information about the Piglit
mailing list