From patchwork Mon Feb 29 12:47:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jones X-Patchwork-Id: 589919 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 76248140BA4 for ; Mon, 29 Feb 2016 23:49:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752721AbcB2MtS (ORCPT ); Mon, 29 Feb 2016 07:49:18 -0500 Received: from mx1.redhat.com ([209.132.183.28]:52976 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751099AbcB2MtR (ORCPT ); Mon, 29 Feb 2016 07:49:17 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 3B4D5143F9C; Mon, 29 Feb 2016 12:49:17 +0000 (UTC) Received: from hawk.localdomain.com (ovpn-116-111.ams2.redhat.com [10.36.116.111]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u1TClvMC024439; Mon, 29 Feb 2016 07:49:12 -0500 From: Andrew Jones To: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org Cc: thuth@redhat.com, dgibson@redhat.com, david@gibson.dropbear.id.au, agraf@suse.de, lvivier@redhat.com, pbonzini@redhat.com, rkrcmar@redhat.com Subject: [kvm-unit-tests PATCH v7 15/18] powerpc/ppc64: add run script and unittests.cfg Date: Mon, 29 Feb 2016 13:47:49 +0100 Message-Id: <1456750072-7524-16-git-send-email-drjones@redhat.com> In-Reply-To: <1456750072-7524-1-git-send-email-drjones@redhat.com> References: <1456750072-7524-1-git-send-email-drjones@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 29 Feb 2016 12:49:17 +0000 (UTC) Sender: kvm-ppc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm-ppc@vger.kernel.org Now that we have all the pieces, pull them together into a run script (adapted from arm's). To run a test do './powerpc-run powerpc/test.elf'. To run all tests in unittests.cfg do './run_tests.sh' (We can now run simple unit tests, but they don't quit on their own yet. Use ^C to quit them.) Signed-off-by: Andrew Jones Reviewed-by: Thomas Huth Tested-by: Laurent Vivier Reviewed-by: David Gibson --- powerpc/run | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ powerpc/unittests.cfg | 30 +++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100755 powerpc/run create mode 100644 powerpc/unittests.cfg diff --git a/powerpc/run b/powerpc/run new file mode 100755 index 0000000000000..47aecb7600832 --- /dev/null +++ b/powerpc/run @@ -0,0 +1,52 @@ +#!/bin/bash + +if [ -z "$STANDALONE" ]; then + if [ ! -f config.mak ]; then + echo "run ./configure && make first. See ./configure -h" + exit 2 + fi + source config.mak +fi + +if [ -c /dev/kvm ]; then + if [ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]; then + kvm_available=yes + fi +fi + +if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then + echo "skip $TESTNAME (kvm only)" + exit 2 +fi + +if [ -z "$ACCEL" ]; then + if [ "$kvm_available" = "yes" ]; then + ACCEL="kvm" + else + ACCEL="tcg" + fi +fi + +qemu="${QEMU:-qemu-system-$ARCH_NAME}" +qpath=$(which $qemu 2>/dev/null) + +if [ -z "$qpath" ]; then + echo $qemu not found. + exit 2 +fi + +if ! $qemu -machine '?' 2>&1 | grep 'pseries' > /dev/null; then + echo "$qpath doesn't support pSeries ('-machine pseries'). Exiting." + exit 2 +fi + +M='-machine pseries' +M+=",accel=$ACCEL" +command="$qemu $M -bios powerpc/boot_rom.bin" +command+=" -display none -serial stdio -kernel" +echo $command "$@" + +$command "$@" +ret=$? +echo Return value from qemu: $ret +exit $ret diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg new file mode 100644 index 0000000000000..60f9be80e8abf --- /dev/null +++ b/powerpc/unittests.cfg @@ -0,0 +1,30 @@ +############################################################################## +# unittest configuration +# +# [unittest_name] +# file = .flat # Name of the flat file to be used. +# smp = # Number of processors the VM will use +# # during this test. Use $MAX_SMP to use +# # the maximum the host supports. Defaults +# # to one. +# extra_params = -append # Additional parameters used. +# arch = ppc64 # Select one if the test case is +# # specific to only one. +# groups = ... # Used to identify test cases +# # with run_tests -g ... +# accel = kvm|tcg # Optionally specify if test must run with +# # kvm or tcg. If not specified, then kvm will +# # be used when available. +# timeout = # Optionally specify a timeout. +############################################################################## + +# +# Test that the configured number of processors (smp = ), and +# that the configured amount of memory (-m ) are correctly setup +# by the framework. +# +[selftest-setup] +file = selftest.elf +smp = 2 +extra_params = -m 256 -append 'setup smp=2 mem=256' +groups = selftest