From 129a25f9854930928351c8cc3913a5b9a1c558b4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 31 Oct 2018 15:23:45 +0000 Subject: [PATCH 10/21] aws: Add regression test for AWS on KVM on x86_64 architecture. --- Makefile.am | 6 ++ tests/aws-kvm-x86/proc/cpuinfo | 52 ++++++++++++++ tests/aws-kvm-x86/proc/self/status | 46 +++++++++++++ tests/aws-kvm-x86/sbin/dmidecode | 68 +++++++++++++++++++ tests/aws-kvm-x86/sbin/uname | 2 + tests/aws-kvm-x86/sbin/virt-what-cpuid-helper | 2 + tests/test-aws-kvm-x86.sh | 35 ++++++++++ 7 files changed, 211 insertions(+) create mode 100644 tests/aws-kvm-x86/proc/cpuinfo create mode 100644 tests/aws-kvm-x86/proc/self/status create mode 100755 tests/aws-kvm-x86/sbin/dmidecode create mode 100755 tests/aws-kvm-x86/sbin/uname create mode 100755 tests/aws-kvm-x86/sbin/virt-what-cpuid-helper create mode 100755 tests/test-aws-kvm-x86.sh diff --git a/Makefile.am b/Makefile.am index 3c0d5ba..1029902 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,6 +39,7 @@ virt-what.txt: virt-what.pod endif TESTS = \ + tests/test-aws-kvm-x86.sh \ tests/test-baremetal.sh \ tests/test-bhyve.sh \ tests/test-docker.sh \ @@ -73,6 +74,11 @@ TESTS = \ EXTRA_DIST = \ virt-what.in \ virt-what.pod \ + tests/aws-kvm-x86/proc/cpuinfo \ + tests/aws-kvm-x86/proc/self/status \ + tests/aws-kvm-x86/sbin/dmidecode \ + tests/aws-kvm-x86/sbin/uname \ + tests/aws-kvm-x86/sbin/virt-what-cpuid-helper \ tests/baremetal/proc/cpuinfo \ tests/baremetal/proc/self/status \ tests/baremetal/sbin/dmidecode \ diff --git a/tests/aws-kvm-x86/proc/cpuinfo b/tests/aws-kvm-x86/proc/cpuinfo new file mode 100644 index 0000000..449f885 --- /dev/null +++ b/tests/aws-kvm-x86/proc/cpuinfo @@ -0,0 +1,52 @@ +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 85 +model name : Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz +stepping : 3 +microcode : 0x1000141 +cpu MHz : 2999.996 +cache size : 25344 KB +physical id : 0 +siblings : 2 +core id : 0 +cpu cores : 1 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 13 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 ida arat pku ospke +bogomips : 5999.99 +clflush size : 64 +cache_alignment : 64 +address sizes : 46 bits physical, 48 bits virtual +power management: + +processor : 1 +vendor_id : GenuineIntel +cpu family : 6 +model : 85 +model name : Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz +stepping : 3 +microcode : 0x1000141 +cpu MHz : 2999.996 +cache size : 25344 KB +physical id : 0 +siblings : 2 +core id : 0 +cpu cores : 1 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 13 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 ida arat pku ospke +bogomips : 5999.99 +clflush size : 64 +cache_alignment : 64 +address sizes : 46 bits physical, 48 bits virtual +power management: + diff --git a/tests/aws-kvm-x86/proc/self/status b/tests/aws-kvm-x86/proc/self/status new file mode 100644 index 0000000..5baf8de --- /dev/null +++ b/tests/aws-kvm-x86/proc/self/status @@ -0,0 +1,46 @@ +Name: cat +Umask: 0022 +State: R (running) +Tgid: 20776 +Ngid: 0 +Pid: 20776 +PPid: 17444 +TracerPid: 0 +Uid: 0 0 0 0 +Gid: 0 0 0 0 +FDSize: 256 +Groups: 0 +VmPeak: 107972 kB +VmSize: 107972 kB +VmLck: 0 kB +VmPin: 0 kB +VmHWM: 360 kB +VmRSS: 360 kB +RssAnon: 76 kB +RssFile: 284 kB +RssShmem: 0 kB +VmData: 180 kB +VmStk: 132 kB +VmExe: 44 kB +VmLib: 1936 kB +VmPTE: 36 kB +VmSwap: 0 kB +Threads: 1 +SigQ: 1/14026 +SigPnd: 0000000000000000 +ShdPnd: 0000000000000000 +SigBlk: 0000000000000000 +SigIgn: 0000000000000000 +SigCgt: 0000000000000000 +CapInh: 0000000000000000 +CapPrm: 0000001fffffffff +CapEff: 0000001fffffffff +CapBnd: 0000001fffffffff +CapAmb: 0000000000000000 +Seccomp: 0 +Cpus_allowed: 3 +Cpus_allowed_list: 0-1 +Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001 +Mems_allowed_list: 0 +voluntary_ctxt_switches: 1 +nonvoluntary_ctxt_switches: 1 diff --git a/tests/aws-kvm-x86/sbin/dmidecode b/tests/aws-kvm-x86/sbin/dmidecode new file mode 100755 index 0000000..3b5aa03 --- /dev/null +++ b/tests/aws-kvm-x86/sbin/dmidecode @@ -0,0 +1,68 @@ +#!/bin/sh - +cat <<'EOF' +# dmidecode 3.0 +Getting SMBIOS data from sysfs. +SMBIOS 2.7 present. +5 structures occupying 233 bytes. +Table at 0x000F8FD0. + +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Vendor: Amazon EC2 + Version: 1.0 + Release Date: 10/16/2017 + Address: 0xF0000 + Runtime Size: 64 kB + ROM Size: 64 kB + Characteristics: + PCI is supported + EDD is supported + ACPI is supported + System is a virtual machine + BIOS Revision: 1.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: Amazon EC2 + Product Name: c5.large + Version: Not Specified + Serial Number: ec2cecdd-c1c8-7a71-0ea8-aef580c9f845 + UUID: EC2CECDD-C1C8-7A71-0EA8-AEF580C9F845 + Wake-up Type: Power Switch + SKU Number: Not Specified + Family: Not Specified + +Handle 0x0002, DMI type 2, 15 bytes +Base Board Information + Manufacturer: Amazon EC2 + Product Name: Not Specified + Version: Not Specified + Serial Number: Not Specified + Asset Tag: i-04f9b1c56b3c301b5 + Features: None + Location In Chassis: Not Specified + Chassis Handle: 0x0003 + Type: Other + Contained Object Handles: 0 + +Handle 0x0003, DMI type 3, 21 bytes +Chassis Information + Manufacturer: Amazon EC2 + Type: Other + Lock: Not Present + Version: Not Specified + Serial Number: Not Specified + Asset Tag: Amazon EC2 + Boot-up State: Safe + Power Supply State: Safe + Thermal State: Safe + Security Status: None + OEM Information: 0x00000000 + Height: Unspecified + Number Of Power Cords: 1 + Contained Elements: 0 + +Handle 0x0004, DMI type 127, 4 bytes +End Of Table + +EOF diff --git a/tests/aws-kvm-x86/sbin/uname b/tests/aws-kvm-x86/sbin/uname new file mode 100755 index 0000000..ab0ec89 --- /dev/null +++ b/tests/aws-kvm-x86/sbin/uname @@ -0,0 +1,2 @@ +#!/bin/sh - +echo x86_64 diff --git a/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper b/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper new file mode 100755 index 0000000..f52a9d7 --- /dev/null +++ b/tests/aws-kvm-x86/sbin/virt-what-cpuid-helper @@ -0,0 +1,2 @@ +#!/bin/sh - +echo KVMKVMKVM diff --git a/tests/test-aws-kvm-x86.sh b/tests/test-aws-kvm-x86.sh new file mode 100755 index 0000000..db4c19f --- /dev/null +++ b/tests/test-aws-kvm-x86.sh @@ -0,0 +1,35 @@ +# Test for AWS. +# Copyright (C) 2018 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +root=tests/aws-kvm-x86 + +output="$(./virt-what --test-root=$root 2>&1)" +expected="kvm +aws" + +if [ "$output" != "$expected" ]; then + echo "$0: test failed because output did not match expected" + echo "Expected output was:" + echo "----------------------------------------" + echo "$expected" + echo "----------------------------------------" + echo "But the actual output of the program was:" + echo "----------------------------------------" + echo "$output" + echo "----------------------------------------" + exit 1 +fi -- 2.23.0