[Avocado-devel] option --output-check-record behavior
Ademar Reis
areis at redhat.com
Wed Sep 14 20:27:03 UTC 2016
On Wed, Sep 14, 2016 at 06:54:31PM +0200, Lukáš Doktor wrote:
> Dne 9.9.2016 v 23:25 Lucas Meneghel Rodrigues napsal(a):
> >
> >
> > On Fri, Sep 9, 2016 at 8:14 AM Marcos E. Matsunaga
> > <Marcos.Matsunaga at oracle.com <mailto:Marcos.Matsunaga at oracle.com>> wrote:
> >
> > Hi guys,
> >
> > First of all, thanks again for your help. I really appreciate it.
> >
> > I found an interesting behavior. If I set loglevel=info in
> > /etc/avocado/avocado.conf, it will not produce any content in
> > stderr.expected and stdout.expected. If I set loglevel=debug, then
> > it will work as it should. I don't mind running in debug mode, but I
> > am not sure the behavior should be affected by loglevel.
> >
> > Anyway, the question I have is about using --output-check-record
> > when multiplexing. I notice that the files stdout.expected and
> > stderr.expected get overwritten on each variant. I will assume there
> > is a way to save each of the variant results and then use them to
> > check. The problem is that I went through the documentation and
> > didn't find anything that talks about it.
> This is the expected behavior. The `--output-check-record` is a simple tool
> to allow checking simple tests like `cat /etc/fedora-release`, it was never
> meant for heavy stuff including multiplexer.
Not really.
--output-check-* should be fully compatible with the multiplexer.
What happens is that it was designed in a time when the concepts
of what a Test is where not very clear and it needs to be fixed
now. That is, we have a bug.
Following the definitions from the "Test ID RFC", I would say the
.data directory should be in the format
<Test-Name>[.Variant-ID].data. Which means the multiplexer should
work fine when combined with output-check: both -record and
-check.
Thanks.
- Ademar
> Consider running the same test
> with a different file or with adjusted multiplex file (different number of
> variants, ...). What would be the expected results?
>
> Anyway looking at your test, I'd implement it as two tests:
>
> 1. start
> 2. stop
>
> Looking something like this:
>
> ```
> def start(...):
> # start the xen machine with given attributes
>
> def stop(...):
> # stop the xen machine with given attributes
>
> class StartTest(...):
> def test(self):
> start()
> def tearDown(self):
> stop()
>
> class StopTest(...):
> def setUp(self):
> start()
> def test(self):
> stop()
> ```
>
> Which would make sure to always cleanup after itself. Other solution would
> be to have start & stop as a single test, but having one test to start a
> machine and leaving it after the test is finished does not look nice to me.
>
>
> >
> > Thanks again.
> >
> > BTW, is the whole development team Brazilian?
> >
> > No, we also have Lukas, from Czech republic, and also contributors in
> > China and India.
> Actually we have two core (Red Hat) people located in Czech republic and one
> in the USA a incrementally we get more and more contributors from all around
> the world.
>
> >
> >
> >
> > Regards,
>
> Regards,
> Lukáš
>
> >
> > 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.”
> >
>
--
Ademar Reis
Red Hat
^[:wq!
More information about the Avocado-devel
mailing list