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

Eoff, Ullysses A ullysses.a.eoff at intel.com
Wed Jan 19 17:26:46 PST 2011


That is correct.

> -----Original Message-----
> From: Ian Romanick [mailto:idr at freedesktop.org]
> Sent: Wednesday, January 19, 2011 4:56 PM
> To: Eoff, Ullysses A
> Cc: piglit at lists.freedesktop.org
> Subject: Re: [Piglit] [PATCH] modified TestResults::write() for thread
> safety
> 
> -----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