diff mbox

[kvm-unit-tests,5/5] arch/run: unify accelerator detection

Message ID 20170629124549.GB10661@potion (mailing list archive)
State New, archived
Headers show

Commit Message

Radim Krčmář June 29, 2017, 12:45 p.m. UTC
2017-06-28 22:48+0200, Paolo Bonzini:
> On 28/06/2017 22:08, Radim Krčmář wrote:
> > -if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then
> > -	echo "KVM is needed, but not available on this host"
> > +ACCEL=$(get_accel '([ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]) || [ "$HOST" = "aarch64" ]') ||
> >  	exit 2
> 
> Should x86 do the same as ARM (follow-up patch)?

Yeah, I'll prepare it when we've agreed on the format.

> And maybe the test could move from an argument of get_accel to a
> function "arch_kvm_available" that returns 0 if available and 1 if not?

Right, the arm condition needs to be fixed as

  ([ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]) ||
  ([ "$HOST" = "aarch64" ] && [ "$ARCH" = arm -o "$ARCH" = arm64 ])

and it would look even worse in the argument ...

Would it be ok like this?
diff mbox

Patch

diff --git a/arm/run b/arm/run
index f2e71eca022d..82d36d0e83f8 100755
--- a/arm/run
+++ b/arm/run
@@ -10,7 +10,12 @@  if [ -z "$STANDALONE" ]; then
 fi
 processor="$PROCESSOR"
 
-ACCEL=$(get_accel '([ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]) || [ "$HOST" = "aarch64" ]') ||
+arch_kvm_available ()
+{
+	([ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]) || [ "$HOST" = "aarch64" ]
+}
+
+ACCEL=$(get_accel) ||
 	exit 2
 
 qemu=$(search_qemu_binary) ||
diff --git a/powerpc/run b/powerpc/run
index 55b987c5efc5..9ae21f333205 100755
--- a/powerpc/run
+++ b/powerpc/run
@@ -9,7 +9,12 @@  if [ -z "$STANDALONE" ]; then
 	source scripts/arch-run.bash
 fi
 
-ACCEL=$(get_accel '[ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]') ||
+arch_kvm_available ()
+{
+	[ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]
+}
+
+ACCEL=$(get_accel) ||
 	exit 2
 
 qemu=$(search_qemu_binary) ||
diff --git a/s390x/run b/s390x/run
index 67d6e88ea7e4..361693ee4b84 100755
--- a/s390x/run
+++ b/s390x/run
@@ -9,7 +9,12 @@  if [ -z "$STANDALONE" ]; then
 	source scripts/arch-run.bash
 fi
 
-ACCEL=$(get_accel '[ "$HOST" = "s390x" ] && [ "$ARCH" = "s390x" ]') ||
+arch_kvm_available ()
+{
+	[ "$HOST" = "s390x" ] && [ "$ARCH" = "s390x" ]
+}
+
+ACCEL=$(get_accel) ||
 	exit 2
 
 qemu=$(search_qemu_binary) ||
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index a696652c61b1..6c6abc6b36bc 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -277,7 +277,7 @@  get_accel ()
 {
 	local kvm_available
 
-	if [ -c /dev/kvm ] && eval "$@"; then
+	if [ -c /dev/kvm ] && arch_kvm_available; then
 		kvm_available=yes
 	fi