summaryrefslogtreecommitdiffstats
path: root/tests/acceptance
diff options
context:
space:
mode:
authorEduardo Habkost2019-04-18 05:45:01 +0200
committerEduardo Habkost2019-04-25 19:17:35 +0200
commit5b863f3e2fade14ef0be01b2b690aac2c4fab477 (patch)
treeb08da90a3f21044d283749ab0038a5892ca5a3b9 /tests/acceptance
parentcpu: Rename parse_cpu_model() to parse_cpu_option() (diff)
downloadqemu-5b863f3e2fade14ef0be01b2b690aac2c4fab477.tar.gz
qemu-5b863f3e2fade14ef0be01b2b690aac2c4fab477.tar.xz
qemu-5b863f3e2fade14ef0be01b2b690aac2c4fab477.zip
cpu: Fix crash with empty -cpu option
Fix the following crash: $ qemu-system-x86_64 -cpu '' qemu-system-x86_64: qom/cpu.c:291: cpu_class_by_name: \ Assertion `cpu_model && cc->class_by_name' failed. Regression test script included. Fixes: 99193d8f2ef5 ("cpu: drop unnecessary NULL check and cpu_common_class_by_name()") Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20190418034501.5038-1-ehabkost@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Tested-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'tests/acceptance')
-rw-r--r--tests/acceptance/empty_cpu_model.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/acceptance/empty_cpu_model.py b/tests/acceptance/empty_cpu_model.py
new file mode 100644
index 0000000000..3f4f663582
--- /dev/null
+++ b/tests/acceptance/empty_cpu_model.py
@@ -0,0 +1,19 @@
+# Check for crash when using empty -cpu option
+#
+# Copyright (c) 2019 Red Hat, Inc.
+#
+# Author:
+# Eduardo Habkost <ehabkost@redhat.com>
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later. See the COPYING file in the top-level directory.
+import subprocess
+from avocado_qemu import Test
+
+class EmptyCPUModel(Test):
+ def test(self):
+ cmd = [self.qemu_bin, '-S', '-display', 'none', '-machine', 'none', '-cpu', '']
+ r = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
+ self.assertEquals(r.returncode, 1, "QEMU exit code should be 1")
+ self.assertEquals(r.stdout, b'', "QEMU stdout should be empty")
+ self.assertNotEquals(r.stderr, b'', "QEMU stderr shouldn't be empty")