All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Elisei <alexandru.elisei@arm.com>
To: drjones@redhat.com, thuth@redhat.com, pbonzini@redhat.com,
	lvivier@redhat.com, kvm-ppc@vger.kernel.org, david@redhat.com,
	frankja@linux.ibm.com, cohuck@redhat.com, imbrenda@linux.ibm.com,
	linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu
Cc: andre.przywara@arm.com, maz@kernel.org, vivek.gautam@arm.com
Subject: [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available
Date: Fri,  2 Jul 2021 17:31:18 +0100	[thread overview]
Message-ID: <20210702163122.96110-2-alexandru.elisei@arm.com> (raw)
In-Reply-To: <20210702163122.96110-1-alexandru.elisei@arm.com>

The arm64 tests can be run under kvmtool, which doesn't emulate a
chr-testdev device. In preparation for adding run script support for
kvmtool, print the test exit status so the scripts can pick it up and
correctly mark the test as pass or fail.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
 lib/chr-testdev.h |  1 +
 lib/arm/io.c      | 10 +++++++++-
 lib/chr-testdev.c |  5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/lib/chr-testdev.h b/lib/chr-testdev.h
index ffd9a851aa9b..09b4b424670e 100644
--- a/lib/chr-testdev.h
+++ b/lib/chr-testdev.h
@@ -11,4 +11,5 @@
  */
 extern void chr_testdev_init(void);
 extern void chr_testdev_exit(int code);
+extern bool chr_testdev_available(void);
 #endif
diff --git a/lib/arm/io.c b/lib/arm/io.c
index 343e10822263..9e62b571a91b 100644
--- a/lib/arm/io.c
+++ b/lib/arm/io.c
@@ -125,7 +125,15 @@ extern void halt(int code);
 
 void exit(int code)
 {
-	chr_testdev_exit(code);
+	if (chr_testdev_available()) {
+		chr_testdev_exit(code);
+	} else {
+		/*
+		 * Print the test return code in the format used by chr-testdev
+		 * so the runner script can parse it.
+		 */
+		printf("\nEXIT: STATUS=%d\n", ((code) << 1) | 1);
+	}
 	psci_system_off();
 	halt(code);
 	__builtin_unreachable();
diff --git a/lib/chr-testdev.c b/lib/chr-testdev.c
index b3c641a833fe..301e73a6c064 100644
--- a/lib/chr-testdev.c
+++ b/lib/chr-testdev.c
@@ -68,3 +68,8 @@ void chr_testdev_init(void)
 	in_vq = vqs[0];
 	out_vq = vqs[1];
 }
+
+bool chr_testdev_available(void)
+{
+	return vcon != NULL;
+}
-- 
2.32.0


WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Elisei <alexandru.elisei@arm.com>
To: drjones@redhat.com, thuth@redhat.com, pbonzini@redhat.com,
	lvivier@redhat.com, kvm-ppc@vger.kernel.org, david@redhat.com,
	frankja@linux.ibm.com, cohuck@redhat.com, imbrenda@linux.ibm.com,
	linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu
Cc: vivek.gautam@arm.com, andre.przywara@arm.com, maz@kernel.org
Subject: [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available
Date: Fri,  2 Jul 2021 17:31:18 +0100	[thread overview]
Message-ID: <20210702163122.96110-2-alexandru.elisei@arm.com> (raw)
In-Reply-To: <20210702163122.96110-1-alexandru.elisei@arm.com>

The arm64 tests can be run under kvmtool, which doesn't emulate a
chr-testdev device. In preparation for adding run script support for
kvmtool, print the test exit status so the scripts can pick it up and
correctly mark the test as pass or fail.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
 lib/chr-testdev.h |  1 +
 lib/arm/io.c      | 10 +++++++++-
 lib/chr-testdev.c |  5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/lib/chr-testdev.h b/lib/chr-testdev.h
index ffd9a851aa9b..09b4b424670e 100644
--- a/lib/chr-testdev.h
+++ b/lib/chr-testdev.h
@@ -11,4 +11,5 @@
  */
 extern void chr_testdev_init(void);
 extern void chr_testdev_exit(int code);
+extern bool chr_testdev_available(void);
 #endif
diff --git a/lib/arm/io.c b/lib/arm/io.c
index 343e10822263..9e62b571a91b 100644
--- a/lib/arm/io.c
+++ b/lib/arm/io.c
@@ -125,7 +125,15 @@ extern void halt(int code);
 
 void exit(int code)
 {
-	chr_testdev_exit(code);
+	if (chr_testdev_available()) {
+		chr_testdev_exit(code);
+	} else {
+		/*
+		 * Print the test return code in the format used by chr-testdev
+		 * so the runner script can parse it.
+		 */
+		printf("\nEXIT: STATUS=%d\n", ((code) << 1) | 1);
+	}
 	psci_system_off();
 	halt(code);
 	__builtin_unreachable();
diff --git a/lib/chr-testdev.c b/lib/chr-testdev.c
index b3c641a833fe..301e73a6c064 100644
--- a/lib/chr-testdev.c
+++ b/lib/chr-testdev.c
@@ -68,3 +68,8 @@ void chr_testdev_init(void)
 	in_vq = vqs[0];
 	out_vq = vqs[1];
 }
+
+bool chr_testdev_available(void)
+{
+	return vcon != NULL;
+}
-- 
2.32.0

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Elisei <alexandru.elisei@arm.com>
To: drjones@redhat.com, thuth@redhat.com, pbonzini@redhat.com,
	lvivier@redhat.com, kvm-ppc@vger.kernel.org, david@redhat.com,
	frankja@linux.ibm.com, cohuck@redhat.com, imbrenda@linux.ibm.com,
	linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu
Cc: andre.przywara@arm.com, maz@kernel.org, vivek.gautam@arm.com
Subject: [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not availa
Date: Fri, 02 Jul 2021 16:31:18 +0000	[thread overview]
Message-ID: <20210702163122.96110-2-alexandru.elisei@arm.com> (raw)
In-Reply-To: <20210702163122.96110-1-alexandru.elisei@arm.com>

The arm64 tests can be run under kvmtool, which doesn't emulate a
chr-testdev device. In preparation for adding run script support for
kvmtool, print the test exit status so the scripts can pick it up and
correctly mark the test as pass or fail.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
 lib/chr-testdev.h |  1 +
 lib/arm/io.c      | 10 +++++++++-
 lib/chr-testdev.c |  5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/lib/chr-testdev.h b/lib/chr-testdev.h
index ffd9a851aa9b..09b4b424670e 100644
--- a/lib/chr-testdev.h
+++ b/lib/chr-testdev.h
@@ -11,4 +11,5 @@
  */
 extern void chr_testdev_init(void);
 extern void chr_testdev_exit(int code);
+extern bool chr_testdev_available(void);
 #endif
diff --git a/lib/arm/io.c b/lib/arm/io.c
index 343e10822263..9e62b571a91b 100644
--- a/lib/arm/io.c
+++ b/lib/arm/io.c
@@ -125,7 +125,15 @@ extern void halt(int code);
 
 void exit(int code)
 {
-	chr_testdev_exit(code);
+	if (chr_testdev_available()) {
+		chr_testdev_exit(code);
+	} else {
+		/*
+		 * Print the test return code in the format used by chr-testdev
+		 * so the runner script can parse it.
+		 */
+		printf("\nEXIT: STATUS=%d\n", ((code) << 1) | 1);
+	}
 	psci_system_off();
 	halt(code);
 	__builtin_unreachable();
diff --git a/lib/chr-testdev.c b/lib/chr-testdev.c
index b3c641a833fe..301e73a6c064 100644
--- a/lib/chr-testdev.c
+++ b/lib/chr-testdev.c
@@ -68,3 +68,8 @@ void chr_testdev_init(void)
 	in_vq = vqs[0];
 	out_vq = vqs[1];
 }
+
+bool chr_testdev_available(void)
+{
+	return vcon != NULL;
+}
-- 
2.32.0

  reply	other threads:[~2021-07-02 16:30 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-02 16:31 [kvm-unit-tests RFC PATCH 0/5] arm: Add kvmtool to the runner script Alexandru Elisei
2021-07-02 16:31 ` Alexandru Elisei
2021-07-02 16:31 ` Alexandru Elisei
2021-07-02 16:31 ` Alexandru Elisei [this message]
2021-07-02 16:31   ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not availa Alexandru Elisei
2021-07-02 16:31   ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Alexandru Elisei
2021-07-12 16:36   ` Andrew Jones
2021-07-12 16:36     ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Andrew Jones
2021-07-12 16:36     ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Andrew Jones
2021-09-06 10:20     ` Alexandru Elisei
2021-09-06 10:20       ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Alexandru Elisei
2021-09-06 10:20       ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Alexandru Elisei
2021-09-06 10:58       ` Andrew Jones
2021-09-06 10:58         ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Andrew Jones
2021-09-06 10:58         ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Andrew Jones
2021-09-06 11:06         ` Alexandru Elisei
2021-09-06 11:06           ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Alexandru Elisei
2021-09-06 11:06           ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Alexandru Elisei
2021-07-12 16:51   ` Andre Przywara
2021-07-12 16:51     ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Andre Przywara
2021-07-12 16:51     ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Andre Przywara
2021-07-12 17:07     ` Andrew Jones
2021-07-12 17:07       ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Andrew Jones
2021-07-12 17:07       ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Andrew Jones
2021-07-12 17:12       ` Nadav Amit
2021-07-12 17:12         ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not av Nadav Amit
2021-07-12 17:12         ` [kvm-unit-tests RFC PATCH 1/5] lib: arm: Print test exit status on exit if chr-testdev is not available Nadav Amit
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 2/5] scripts: Rename run_qemu_status -> run_test_status Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-12 16:37   ` Andrew Jones
2021-07-12 16:37     ` Andrew Jones
2021-07-12 16:37     ` Andrew Jones
2021-07-13  7:45   ` Thomas Huth
2021-07-13  7:45     ` Thomas Huth
2021-07-13  7:45     ` Thomas Huth
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 3/5] run_tests.sh: Add kvmtool support Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-12 16:52   ` Andre Przywara
2021-07-12 16:52     ` Andre Przywara
2021-07-12 16:52     ` Andre Przywara
2021-09-06 10:28     ` Alexandru Elisei
2021-09-06 10:28       ` Alexandru Elisei
2021-09-06 10:28       ` Alexandru Elisei
2021-09-06 11:01       ` Andrew Jones
2021-09-06 11:01         ` Andrew Jones
2021-09-06 11:01         ` Andrew Jones
2021-09-06 11:07         ` Alexandru Elisei
2021-09-06 11:07           ` Alexandru Elisei
2021-09-06 11:07           ` Alexandru Elisei
2021-09-07 10:17   ` Andrew Jones
2021-09-07 10:17     ` Andrew Jones
2021-09-07 10:17     ` Andrew Jones
2021-09-08 14:33     ` Alexandru Elisei
2021-09-08 14:33       ` Alexandru Elisei
2021-09-08 14:33       ` Alexandru Elisei
2021-09-08 15:09       ` Andrew Jones
2021-09-08 15:09         ` Andrew Jones
2021-09-08 15:09         ` Andrew Jones
2021-09-08 15:46         ` Alexandru Elisei
2021-09-08 15:46           ` Alexandru Elisei
2021-09-08 15:46           ` Alexandru Elisei
2021-09-08 15:49           ` Andrew Jones
2021-09-08 15:49             ` Andrew Jones
2021-09-08 15:49             ` Andrew Jones
2021-09-09 11:33             ` Alexandru Elisei
2021-09-09 11:33               ` Alexandru Elisei
2021-09-09 11:33               ` Alexandru Elisei
2021-09-09 12:49               ` Andrew Jones
2021-09-09 12:49                 ` Andrew Jones
2021-09-09 12:49                 ` Andrew Jones
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 4/5] scripts: Generate kvmtool standalone tests Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-09-07 10:21   ` Andrew Jones
2021-09-07 10:21     ` Andrew Jones
2021-09-07 10:21     ` Andrew Jones
2021-09-08 15:37     ` Alexandru Elisei
2021-09-08 15:37       ` Alexandru Elisei
2021-09-08 15:37       ` Alexandru Elisei
2021-09-08 16:07       ` Andrew Jones
2021-09-08 16:07         ` Andrew Jones
2021-09-08 16:07         ` Andrew Jones
2021-09-09 11:11         ` Alexandru Elisei
2021-09-09 11:11           ` Alexandru Elisei
2021-09-09 11:11           ` Alexandru Elisei
2021-09-09 13:05           ` Andrew Jones
2021-09-09 13:05             ` Andrew Jones
2021-09-09 13:05             ` Andrew Jones
2021-09-09 13:47             ` Alexandru Elisei
2021-09-09 13:47               ` Alexandru Elisei
2021-09-09 13:47               ` Alexandru Elisei
2021-09-09 13:54               ` Andrew Jones
2021-09-09 13:54                 ` Andrew Jones
2021-09-09 13:54                 ` Andrew Jones
2021-09-09 14:42                 ` Alexandru Elisei
2021-09-09 14:42                   ` Alexandru Elisei
2021-09-09 14:42                   ` Alexandru Elisei
2021-07-02 16:31 ` [kvm-unit-tests RFC PATCH 5/5] configure: Ignore --erratatxt when --target=kvmtool Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-07-02 16:31   ` Alexandru Elisei
2021-09-07 10:25   ` Andrew Jones
2021-09-07 10:25     ` Andrew Jones
2021-09-07 10:25     ` Andrew Jones
2021-09-08 16:13     ` Alexandru Elisei
2021-09-08 16:13       ` Alexandru Elisei
2021-09-08 16:13       ` Alexandru Elisei

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=20210702163122.96110-2-alexandru.elisei@arm.com \
    --to=alexandru.elisei@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=drjones@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-s390@vger.kernel.org \
    --cc=lvivier@redhat.com \
    --cc=maz@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=thuth@redhat.com \
    --cc=vivek.gautam@arm.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.