<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>