<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hi Lucas,</p>
<p>Thanks for your answers. I have some comments below. And forgive
me if I am repeating something.<br>
</p>
<br>
<div class="moz-cite-prefix">On 14/09/16 16:59, Lucas Meneghel
Rodrigues wrote:<br>
</div>
<blockquote
cite="mid:CAJnY6josOWdieo3Km1-KkW0_+Hn9f6qfZY+YroR6ob-Q_CnO4w@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Wed, Sep 14, 2016 at 8:32 AM Marcos E.
Matsunaga <<a moz-do-not-send="true"
href="mailto:Marcos.Matsunaga@oracle.com">Marcos.Matsunaga@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Folks,<br>
<br>
I have some questions about how avocado works.<br>
<br>
1. If I run avocado and give it a directory that has all
tests. Is there<br>
a way to specify the order of execution? I mean, if I name
the files<br>
001-xxx.py, 010-aa.py, will it execute 001-xxx.py before
010-aa.py or it<br>
doesn't follow an alphabetical order?<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>There is - You can specify their order of execution in
the command line:</div>
<div><br>
</div>
<div>
<div>avocado run failtest.py raise.py doublefree.py </div>
<div>JOB ID : 6047dedc2996815659a75841f00518fa0f83b1ee</div>
<div>JOB LOG :
/home/lmr/avocado/job-results/job-2016-09-14T12.53-6047ded/job.log</div>
<div>TESTS : 3</div>
<div> (1/3) failtest.py:FailTest.test: FAIL (0.00 s)</div>
<div> (2/3) raise.py:Raise.test: PASS (0.11 s)</div>
<div> (3/3) doublefree.py:DoubleFreeTest.test: PASS (1.02 s)</div>
<div>RESULTS : PASS 2 | ERROR 0 | FAIL 1 | SKIP 0 | WARN
0 | INTERRUPT 0</div>
<div>TESTS TIME : 1.13 s</div>
<div>JOB HTML :
/home/lmr/avocado/job-results/job-2016-09-14T12.53-6047ded/html/results.html</div>
</div>
</div>
</div>
</blockquote>
Yeah.. That would work if you want to run just a set of the tests,
but think about a specific test that has hundreds of individual
tests. If you can just give the directory and it sort it
alphabetically before executing, that would be great. And with
multiplex auto discovery, that would be even better. <br>
<blockquote
cite="mid:CAJnY6josOWdieo3Km1-KkW0_+Hn9f6qfZY+YroR6ob-Q_CnO4w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
2. Lets take into consideration that same directory. Some of
the scripts<br>
will have multiplex configuration files. Does avocado
automatically look<br>
at some specific directory for those multiplex configuration
files? I've<br>
tried to add them to the data, cfg and even the
<script>.data<br>
directories, but it seems that it doesn't look for them
automatically,<br>
only when I specify the option --multiplex, but then, the
file will be<br>
used by all scripts and I was only able to specify a single
multiplex file.<br>
</blockquote>
<div><br>
</div>
<div>The original design assumption was that you'd execute
only one test that has a multiplex file, and provide the
multiplex file with it, so indeed what you wan't to do can't
be done right now. I suppose multiple tests with multiplex
files and multiplex file auto detection would be a nice
feature to add moving forward, though.</div>
</div>
</div>
</blockquote>
With a small standard definition, I think multiplex auto-discovery
could be simple to implement. Let's say you have a <some
dir>/test.py and when you execute it, check under <some
dir>/test.py.data for a test.yaml. If it is there, just open it
and use. And, of course, you could add a default directory for
multiplex files in avocado.conf and follow some hierarchy. <br>
<br>
Speaking of multiplex, when I was thinking about starting parallel
jobs on different hosts, I came up with something like this in a
multplex file:<br>
1
perf:
<br>
2
SetUp:
<br>
3 packages = 'perf
netperf' <br>
4
server:
<br>
5 hostname =
'perf1' <br>
6 ipaddress =
'10.196.50.101' <br>
7 userid =
'root' <br>
8
client:
<br>
9 hostname =
'perf2' <br>
10 ipaddress =
'10.196.50.102' <br>
11 userid =
'root' <br>
<br>
I tried every combination I could to try to retrieve the two
hostnames, but I was never able to do it. Wouldn't be a good idea to
be able to retrieve the information from the multiplex file as
"self.params.get('/perf/server/hostname')" ? That way, you could
list all your remote clients (in this case) and be able to do
whatever necessary to run jobs in parallel.<br>
<br>
<blockquote
cite="mid:CAJnY6josOWdieo3Km1-KkW0_+Hn9f6qfZY+YroR6ob-Q_CnO4w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
3. I tried to find if it was possible to start multiple test
processes<br>
in parallel, but it seems that avocado doesn't have anything
like that.<br>
Lets say I have 4 guests and I want to execute performance
tests while<br>
loading the 4 guests and I want to start tests on all 4
guests at the<br>
same time. It doesn't have a feature that will do that,
right?<br>
</blockquote>
<div><br>
</div>
<div>Executing tests in multiple remote machines was something
that we din't think about either, and one that would be very
interesting to add indeed.<br>
</div>
</div>
</div>
</blockquote>
Yes.. That would be really interesting.<br>
<blockquote
cite="mid:CAJnY6josOWdieo3Km1-KkW0_+Hn9f6qfZY+YroR6ob-Q_CnO4w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
What you can do for now is to start 4 parallel separate
instances of avocado, one for each machine. Each execution
will create its own job directory, though.</div>
</div>
</div>
</blockquote>
I don't know if you are familiar with OpenMPI, but it does exactly
that. It manage to start tests simultaneously on many hosts (it
doesn't have to be guests). I think a functionality similar to that
would be great. Avocado already copy the job to the remote host and
retrieve the result.<br>
<blockquote
cite="mid:CAJnY6josOWdieo3Km1-KkW0_+Hn9f6qfZY+YroR6ob-Q_CnO4w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks for your time and help.<br>
</blockquote>
<div><br>
</div>
<div>Cheers!</div>
</div>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Regards,
Marcos Eduardo Matsunaga
Oracle USA
Linux Engineering
“The statements and opinions expressed here are my own and do not
necessarily represent those of Oracle Corporation.”
</pre>
</body>
</html>