On Thu, Jun 5, 2014 at 11:47 AM, Jose Fonseca <[email protected]> wrote:
> ----- Original Message -----
>> On Thu, Jun 5, 2014 at 11:23 AM, <[email protected]> wrote:
>> > From: José Fonseca <[email protected]>
>> >
>> > Otherwise Jenkins won't show any progress while piglit is running.
>> >
>> > PS: Another alternative would be to detect the presence of
>> > JENKINS_HOME/HUDSON_HOME environment variables. I'm happy either way.
>>
>> Hm, perhaps "not a tty" should be synonymous with verbose mode where
>> it prints all the tests?
>
> No, the current verbosity level is fine. I just need "\n" instead of "\r".
> For the same reason there is a sys.stdout.flush() -- so that I can see the
> output immediately.
Well, my point was that if you flip it to \n, it's ~same number of
lines as in the verbose mode (well, verbose is 2x since it has one for
run and one for finish).
Anyways, if the current thing is useful to you with just the \n's,
that's fine by me. Merely wanted to point out a potential alternative.
>
>> (What is Jenkins? Some sort of continuous
>> build system?)
>
> It's a continuous integration server. I use it to schedule mesa/piglit
> builds, and the testing of both across many platforms.
>
> Jose
>
>
>>
>> > ---
>> > framework/log.py | 25 ++++++++++++++++++-------
>> > 1 file changed, 18 insertions(+), 7 deletions(-)
>> >
>> > diff --git a/framework/log.py b/framework/log.py
>> > index e5154aa..d261dbb 100644
>> > --- a/framework/log.py
>> > +++ b/framework/log.py
>> > @@ -43,8 +43,18 @@ class Log(object):
>> > 'timeout'])
>> > self.__summary = collections.defaultdict(lambda: 0)
>> > self.__lastlength = 0
>> > + self.__tty = sys.stdout.isatty()
>> > +
>> > + self.__output = "[{percent}] {summary} {running}"
>> > +
>> > + # Some automation tools (e.g, Jenkins) will buffer all output
>> > until
>> > + # newline, so don't use carriage return character if the stdout is
>> > not
>> > + # a TTY.
>> > + if self.__tty:
>> > + self.__output += "\r"
>> > + else:
>> > + self.__output += "\n"
>> >
>> > - self.__output = "[{percent}] {summary} {running}\r"
>> > if verbose:
>> > self.__output = "{result} :: {name}\n" + self.__output
>> >
>> > @@ -53,13 +63,14 @@ class Log(object):
>> > def _write_output(self, output):
>> > """ write the output to stdout, ensuring any previous line is
>> > cleared """
>> >
>> > - length = len(output)
>> > - if self.__lastlength > length:
>> > - output = "{0}{1}{2}".format(output[:-1],
>> > - " " * (self.__lastlength -
>> > length),
>> > - output[-1])
>> > + if self.__tty:
>> > + length = len(output)
>> > + if self.__lastlength > length:
>> > + output = "{0}{1}{2}".format(output[:-1],
>> > + " " * (self.__lastlength -
>> > length),
>> > + output[-1])
>> >
>> > - self.__lastlength = length
>> > + self.__lastlength = length
>> >
>> > sys.stdout.write(output)
>> >
>> > --
>> > 1.9.1
>> >
>> > _______________________________________________
>> > Piglit mailing list
>> > [email protected]
>> > https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/piglit&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=FNt%2BBK4qrgRJfsKN%2BxKHASdaLIGEZIB2EQR8JpimJg4%3D%0A&s=7b5f7c6507fc56be773b80618a11873f44e61dbe0c05360d2ea75abb939d1a70
>>
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit