All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: Wainer dos Santos Moschetta <wainersm@redhat.com>
Cc: wrampazz@redhat.com, alex.bennee@linaro.org,
	qemu-devel@nongnu.org, pavel.dovgaluk@ispras.ru,
	pbonzini@redhat.com, philmd@redhat.com, aurelien@aurel32.net
Subject: Re: [PATCH v2 0/7] tests/acceptance: Handle tests with "cpu" tag
Date: Wed, 21 Apr 2021 15:54:29 -0400	[thread overview]
Message-ID: <20210421195429.GA2153290@amachine.somewhere> (raw)
In-Reply-To: <20210408195237.3489296-1-wainersm@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2904 bytes --]

On Thu, Apr 08, 2021 at 04:52:30PM -0300, Wainer dos Santos Moschetta wrote:
> Currently the acceptance tests tagged with "machine" have the "-M TYPE"
> automatically added to the list of arguments of the QEMUMachine object.
> In other words, that option is passed to the launched QEMU. On this
> series it is implemented the same feature but instead for tests marked
> with "cpu".
> 
> There is a caveat, however, in case the test needs additional arguments to
> the CPU type they cannot be passed via tag, because the tags parser split
> values by comma. For example, in tests/acceptance/x86_cpu_model_versions.py,
> there are cases where:

Hi Wainer,

I've created an Avocado issue to hopefully get rid of this limitation:

   https://github.com/avocado-framework/avocado/issues/4541

> 
>   * -cpu is set to "Cascadelake-Server,x-force-features=on,check=off,enforce=off"
>   * if it was tagged like "cpu:Cascadelake-Server,x-force-features=on,check=off,enforce=off"
>     then the parser would break it into 4 tags ("cpu:Cascadelake-Server",
>     "x-force-features=on", "check=off", "enforce=off")
>   * resulting on "-cpu Cascadelake-Server" and the remaining arguments are ignored.
> 
> It was introduced the avocado_qemu.Test.set_vm_arg() method to deal with
> cases like the example above, so that one can tag it as "cpu:Cascadelake-Server"
> AND call self.set_vm_args('-cpu', "Cascadelake-Server,x-force-features=on,check=off,enforce=off"),
> and that results on the reset of the initial value of -cpu.
>

So for now this seems reasonable enough.

> This series was tested on CI (https://gitlab.com/wainersm/qemu/-/pipelines/277376246)
> and with the following code:
> 
> from avocado_qemu import Test
> 
> class CPUTest(Test):
>     def test_cpu(self):
>         """
>         :avocado: tags=cpu:host
>         """
>         # The cpu property is set to the tag value, or None on its absence
>         self.assertEqual(self.cpu, "host")
>         # The created VM has the '-cpu host' option
>         self.assertIn("-cpu host", " ".join(self.vm._args))
>         self.vm.launch()
> 
>     def test_cpu_none(self):
>         self.assertEqual(self.cpu, None)
>         self.assertNotIn('-cpu', self.vm._args)
> 
>     def test_cpu_reset(self):
>         """
>         :avocado: tags=cpu:host
>         """
>         self.assertIn("-cpu host", " ".join(self.vm._args))
>         self.set_vm_arg("-cpu", "Cascadelake-Server,x-force-features=on")
>         self.assertNotIn("-cpu host", " ".join(self.vm._args))
>         self.assertIn("-cpu Cascadelake-Server,x-force-features=on", " ".join(self.vm._args))
>

We should not let this type of testing go to waste, so it's about time
to set aside a directory for tests that are about the framework,
rather than end user functionality.  I'll take a look at that.

Cheers,
- Cleber.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      parent reply	other threads:[~2021-04-22 12:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-08 19:52 [PATCH v2 0/7] tests/acceptance: Handle tests with "cpu" tag Wainer dos Santos Moschetta
2021-04-08 19:52 ` [PATCH v2 1/7] tests/acceptance: Automatic set -cpu to the test vm Wainer dos Santos Moschetta
2021-04-21 20:16   ` Cleber Rosa
2021-04-28 17:36     ` Wainer dos Santos Moschetta
2021-04-23 16:55   ` Willian Rampazzo
2021-04-08 19:52 ` [PATCH v2 2/7] tests/acceptance: Fix mismatch on cpu tagged tests Wainer dos Santos Moschetta
2021-04-21 21:09   ` Cleber Rosa
2021-04-23 16:56   ` Willian Rampazzo
2021-04-08 19:52 ` [PATCH v2 3/7] tests/acceptance: Let the framework handle "cpu:VALUE" " Wainer dos Santos Moschetta
2021-04-22 12:09   ` Cleber Rosa
2021-04-23 17:02   ` Willian Rampazzo
2021-04-08 19:52 ` [PATCH v2 4/7] tests/acceptance: Tagging tests with "cpu:VALUE" Wainer dos Santos Moschetta
2021-04-22 12:12   ` Cleber Rosa
2021-04-23 17:04   ` Willian Rampazzo
2021-04-08 19:52 ` [PATCH v2 5/7] python/qemu: Add args property to the QEMUMachine class Wainer dos Santos Moschetta
2021-04-22 12:19   ` Cleber Rosa
2021-04-23 17:05   ` Willian Rampazzo
2021-04-08 19:52 ` [PATCH v2 6/7] tests/acceptance: Add set_vm_arg() to the Test class Wainer dos Santos Moschetta
2021-04-22 12:17   ` Cleber Rosa
2021-04-08 19:52 ` [PATCH v2 7/7] tests/acceptance: Handle cpu tag on x86_cpu_model_versions tests Wainer dos Santos Moschetta
2021-04-22 12:21   ` Cleber Rosa
2021-04-21 19:54 ` Cleber Rosa [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210421195429.GA2153290@amachine.somewhere \
    --to=crosa@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    --cc=wrampazz@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.