| 1 | # |
| 2 | # This config is an example usage of ktest.pl with a vmware guest |
| 3 | # |
| 4 | # VMware Setup: |
| 5 | # ------------- |
| 6 | # - Edit the Virtual Machine ("Edit virtual machine settings") |
| 7 | # - Add a Serial Port |
| 8 | # - You almost certainly want it set "Connect at power on" |
| 9 | # - Select "Use socket (named pipe)" |
| 10 | # - Select a name that you'll recognize, like 'ktestserialpipe' |
| 11 | # - From: Server |
| 12 | # - To: A Virtual Machine |
| 13 | # - Save |
| 14 | # - Make sure you note the name, it will be in the base directory of the |
| 15 | # virtual machine (where the "disks" are stored. The default |
| 16 | # is /var/lib/vmware/<virtual machine name>/<the name you entered above> |
| 17 | # |
| 18 | # - Make note of the path to the VM |
| 19 | # </End VMware setup> |
| 20 | # |
| 21 | # The guest is called 'Guest' and this would be something that |
| 22 | # could be run on the host to test a virtual machine target. |
| 23 | |
| 24 | MACHINE = Guest |
| 25 | |
| 26 | # Name of the serial pipe you set in the VMware settings |
| 27 | VMWARE_SERIAL_NAME = <the name you entered above> |
| 28 | |
| 29 | # Define a variable of the name of the VM |
| 30 | # Noting this needs to be the name of the kmx file, and usually, the |
| 31 | # name of the directory that it's in. If the directory and name |
| 32 | # differ change the VMWARE_VM_DIR accordingly. |
| 33 | # Please ommit the .kmx extension |
| 34 | VMWARE_VM_NAME = <virtual machine name> |
| 35 | |
| 36 | # VM dir name. This is usually the same as the virtual machine's name, |
| 37 | # but not always the case. Change if they differ |
| 38 | VMWARE_VM_DIR = ${VMWARE_VM_NAME} |
| 39 | |
| 40 | # Base directory that the Virtual machine is contained in |
| 41 | # /var/lib/vmware is the default on Linux |
| 42 | VMWARE_VM_BASE_DIR = /var/lib/vmware/${VMWARE_VM_DIR} |
| 43 | |
| 44 | # Use ncat to read the unix pipe. Anything that can read the Unix Pipe |
| 45 | # and output it's contents to stdout will work |
| 46 | CONSOLE = /usr/bin/ncat -U ${VMWARE_VM_BASE_DIR}/${VMWARE_SERIAL_NAME} |
| 47 | |
| 48 | # Define what version of Workstation you are using |
| 49 | # This is used by vmrun to use the appropriate appripriate pieces to |
| 50 | # test this. In all likelihood you want 'ws' or 'player' |
| 51 | # Valid options: |
| 52 | # ws - Workstation (Windows or Linux host) |
| 53 | # fusion - Fusion (Mac host) |
| 54 | # player - Using VMware Player (Windows or Linux host) |
| 55 | # Note: vmrun has to run directly on the host machine |
| 56 | VMWARE_HOST_TYPE = ws |
| 57 | |
| 58 | # VMware provides `vmrun` to allow you to do certain things to the virtual machine |
| 59 | # This should hard reset the VM and force a boot |
| 60 | VMWARE_POWER_CYCLE = /usr/bin/vmrun -T ${VMWARE_HOST_TYPE} reset ${VMWARE_VM_BASE_DIR}/${VMWARE_VM_NAME}.kmx nogui |
| 61 | |
| 62 | #*************************************# |
| 63 | # This part is the same as test.conf # |
| 64 | #*************************************# |
| 65 | |
| 66 | # The include files will set up the type of test to run. Just set TEST to |
| 67 | # which test you want to run. |
| 68 | # |
| 69 | # TESTS = patchcheck, randconfig, boot, test, config-bisect, bisect, min-config |
| 70 | # |
| 71 | # See the include/*.conf files that define these tests |
| 72 | # |
| 73 | TEST := patchcheck |
| 74 | |
| 75 | # Some tests may have more than one test to run. Define MULTI := 1 to run |
| 76 | # the extra tests. |
| 77 | MULTI := 0 |
| 78 | |
| 79 | # In case you want to differentiate which type of system you are testing |
| 80 | BITS := 64 |
| 81 | |
| 82 | # REBOOT = none, error, fail, empty |
| 83 | # See include/defaults.conf |
| 84 | REBOOT := empty |
| 85 | |
| 86 | |
| 87 | # The defaults file will set up various settings that can be used by all |
| 88 | # machine configs. |
| 89 | INCLUDE include/defaults.conf |
| 90 | |
| 91 | |
| 92 | #*************************************# |
| 93 | # Now we are different from test.conf # |
| 94 | #*************************************# |
| 95 | |
| 96 | |
| 97 | # The example here assumes that Guest is running a Fedora release |
| 98 | # that uses dracut for its initfs. The POST_INSTALL will be executed |
| 99 | # after the install of the kernel and modules are complete. |
| 100 | # |
| 101 | POST_INSTALL = ${SSH} /sbin/dracut -f /boot/initramfs-test.img $KERNEL_VERSION |
| 102 | |
| 103 | # Guests sometimes get stuck on reboot. We wait 3 seconds after running |
| 104 | # the reboot command and then do a full power-cycle of the guest. |
| 105 | # This forces the guest to restart. |
| 106 | # |
| 107 | POWERCYCLE_AFTER_REBOOT = 3 |
| 108 | |
| 109 | # We do the same after the halt command, but this time we wait 20 seconds. |
| 110 | POWEROFF_AFTER_HALT = 20 |
| 111 | |
| 112 | |
| 113 | # As the defaults.conf file has a POWER_CYCLE option already defined, |
| 114 | # and options can not be defined in the same section more than once |
| 115 | # (all DEFAULTS sections are considered the same). We use the |
| 116 | # DEFAULTS OVERRIDE to tell ktest.pl to ignore the previous defined |
| 117 | # options, for the options set in the OVERRIDE section. |
| 118 | # |
| 119 | DEFAULTS OVERRIDE |
| 120 | |
| 121 | # Instead of using the default POWER_CYCLE option defined in |
| 122 | # defaults.conf, we use virsh to cycle it. To do so, we destroy |
| 123 | # the guest, wait 5 seconds, and then start it up again. |
| 124 | # Crude, but effective. |
| 125 | # |
| 126 | POWER_CYCLE = ${VMWARE_POWER_CYCLE} |
| 127 | |
| 128 | |
| 129 | DEFAULTS |
| 130 | |
| 131 | # The following files each handle a different test case. |
| 132 | # Having them included allows you to set up more than one machine and share |
| 133 | # the same tests. |
| 134 | INCLUDE include/patchcheck.conf |
| 135 | INCLUDE include/tests.conf |
| 136 | INCLUDE include/bisect.conf |
| 137 | INCLUDE include/min-config.conf |