[Piglit] [PATCH] modified TestResults::write() for thread safety

Ian Romanick idr at freedesktop.org
Wed Jan 19 16:55:43 PST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/19/2011 03:05 PM, U. Artie Eoff wrote:
> made TestResults::write() thread-safe by writing results in one
> chunk to the file so that when threaded tests are implemented
> there will be no interleaving.

This is just for writing the results to the summary file, right?  In
other words, this isn't the path that logs to the console.

> ---
>  framework/core.py |   15 +++++++++------
>  1 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/framework/core.py b/framework/core.py
> index b237df6..b975cb3 100644
> --- a/framework/core.py
> +++ b/framework/core.py
> @@ -31,6 +31,7 @@ import subprocess
>  import sys
>  import time
>  import traceback
> +from cStringIO import StringIO
>  
>  __all__ = [
>  	'Environment',
> @@ -107,17 +108,19 @@ class TestResult(dict):
>  		return {name: self}
>  
>  	def write(self, file, path):
> -		print >>file, "@test: " + encode(path)
> +		result = StringIO()
> +		print >> result, "@test: " + encode(path)
>  		for k in self:
>  			v = self[k]
>  			if type(v) == list:
> -				print >>file, k + "!"
> +				print >> result, k + "!"
>  				for s in v:
> -					print >>file, " " + encode(str(s))
> -				print >>file, "!"
> +					print >> result, " " + encode(str(s))
> +				print >> result, "!"
>  			else:
> -				print >>file, k + ": " + encode(str(v))
> -		print >>file, "!"
> +				print >> result, k + ": " + encode(str(v))
> +		print >> result, "!"
> +		print >> file, result.getvalue(),
>  
>  
>  class GroupResult(dict):
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk03iA8ACgkQX1gOwKyEAw8FxACdEjN/e9ifcKUm8MXyRaNaqW1m
INwAnjknDMzsX9YdF1EvC3yBxIeeBlNM
=tOIa
-----END PGP SIGNATURE-----


More information about the Piglit mailing list