From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suraj Jitindar Singh Subject: [kvm-unit-tests PATCH 1/4] scripts/runtime: Add ability to mark test as don't run by default Date: Fri, 5 Aug 2016 17:33:10 +1000 Message-ID: <1470382393-24209-1-git-send-email-sjitindarsingh@gmail.com> Cc: sjitindarsingh@gmail.com, drjones@redhat.com, pbonzini@redhat.com To: kvm@vger.kernel.org Return-path: Received: from mail-pa0-f68.google.com ([209.85.220.68]:34228 "EHLO mail-pa0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751930AbcHEHda (ORCPT ); Fri, 5 Aug 2016 03:33:30 -0400 Received: by mail-pa0-f68.google.com with SMTP id hh10so18933688pac.1 for ; Fri, 05 Aug 2016 00:33:29 -0700 (PDT) Sender: kvm-owner@vger.kernel.org List-ID: Invoking run_tests.sh without the -g parameter will by default run all of the tests for a given architecture. This patch series will add a test which has the ability to bring down the host and thus it might be nice if we double check that the user actually wants to run that test instead of them unknowingly bringing down a machine they might not want to. In order to do this add the option for a tests' group parameter in unittests.cfg to be set as "nodefault" on order to indicate that it shouldn't be run be default. Modify runtime.bash such that if one of these tests is encountered a message will be printed to the user to indicate that the task was skipped and with instructions on how to run the test on it's own. This allows a user to confirm that they want to run a test which has been marked as not to be run by default for whatever reason by the creator. Existing functionality will be preserved and new tests can choose any group other than "nodefault" if they want to be run by default. Signed-off-by: Suraj Jitindar Singh --- arm/unittests.cfg | 3 +++ powerpc/unittests.cfg | 3 +++ scripts/runtime.bash | 10 ++++++++++ x86/unittests.cfg | 3 +++ 4 files changed, 19 insertions(+) I was going to have the long error message gated behind [ $verbose == "yes" ] but this means that when that test is run standalone it will skip without any obvious indication as to why. Thus IMO it's better to have the message printed regardless. diff --git a/arm/unittests.cfg b/arm/unittests.cfg index ffd12e5..3f6fa45 100644 --- a/arm/unittests.cfg +++ b/arm/unittests.cfg @@ -12,6 +12,9 @@ # # specific to only one. # groups = ... # Used to identify test cases # # with run_tests -g ... +# # Specify group_name=nodefault +# # to have test not run by +# # default # accel = kvm|tcg # Optionally specify if test must run with # # kvm or tcg. If not specified, then kvm will # # be used when available. diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg index ed4fdbe..0098cb6 100644 --- a/powerpc/unittests.cfg +++ b/powerpc/unittests.cfg @@ -12,6 +12,9 @@ # # specific to only one. # groups = ... # Used to identify test cases # # with run_tests -g ... +# # Specify group_name=nodefault +# # to have test not run by +# # default # accel = kvm|tcg # Optionally specify if test must run with # # kvm or tcg. If not specified, then kvm will # # be used when available. diff --git a/scripts/runtime.bash b/scripts/runtime.bash index 0503cf0..6bf28fb 100644 --- a/scripts/runtime.bash +++ b/scripts/runtime.bash @@ -52,6 +52,16 @@ function run() return fi + if grep -q "nodefault" <<<$groups && ! grep -qw "$only_group" <<<$groups; then + echo -e "`SKIP` $testname\n" \ + "Test $testname marked as not to be run by default,\n" \ + "please ensure that you actually want to run this test\n" \ + "To run this using run_tests.sh append \"-g $groups\"\n" \ + "To run this standalone set the only_group parameter\n" \ + "\"only_group=$groups tests/$testname\"" + return; + fi + if [ -n "$arch" ] && [ "$arch" != "$ARCH" ]; then echo "`SKIP` $1 ($arch only)" return 2 diff --git a/x86/unittests.cfg b/x86/unittests.cfg index 60747cf..4a1f74e 100644 --- a/x86/unittests.cfg +++ b/x86/unittests.cfg @@ -12,6 +12,9 @@ # # specific to only one. # groups = ... # Used to identify test cases # # with run_tests -g ... +# # Specify group_name=nodefault +# # to have test not run by +# # default # accel = kvm|tcg # Optionally specify if test must run with # # kvm or tcg. If not specified, then kvm will # # be used when available. -- 2.5.5