1QA output created by 184 2 3== checking interface == 4Testing: 5{ 6 QMP_VERSION 7} 8{ 9 "return": { 10 } 11} 12{ 13 "return": { 14 } 15} 16{ 17 "return": { 18 } 19} 20{ 21 "return": { 22 } 23} 24{ 25 "return": [ 26 { 27 "iops_rd": 0, 28 "detect_zeroes": "off", 29 "active": true, 30 "image": { 31 "backing-image": { 32 "virtual-size": 1073741824, 33 "filename": "null-co://", 34 "format": "null-co", 35 "actual-size": 0 36 }, 37 "virtual-size": 1073741824, 38 "filename": "json:{\"throttle-group\": \"group0\", \"driver\": \"throttle\", \"file\": {\"driver\": \"null-co\"}}", 39 "format": "throttle", 40 "actual-size": 0 41 }, 42 "iops_wr": 0, 43 "ro": false, 44 "children": [ 45 { 46 "node-name": "disk0", 47 "child": "file" 48 } 49 ], 50 "node-name": "throttle0", 51 "backing_file_depth": 1, 52 "drv": "throttle", 53 "iops": 0, 54 "bps_wr": 0, 55 "write_threshold": 0, 56 "encrypted": false, 57 "bps": 0, 58 "bps_rd": 0, 59 "cache": { 60 "no-flush": false, 61 "direct": false, 62 "writeback": true 63 }, 64 "file": "json:{\"throttle-group\": \"group0\", \"driver\": \"throttle\", \"file\": {\"driver\": \"null-co\"}}" 65 }, 66 { 67 "iops_rd": 0, 68 "detect_zeroes": "off", 69 "active": true, 70 "image": { 71 "virtual-size": 1073741824, 72 "filename": "null-co://", 73 "format": "null-co", 74 "actual-size": 0 75 }, 76 "iops_wr": 0, 77 "ro": false, 78 "children": [ 79 ], 80 "node-name": "disk0", 81 "backing_file_depth": 0, 82 "drv": "null-co", 83 "iops": 0, 84 "bps_wr": 0, 85 "write_threshold": 0, 86 "encrypted": false, 87 "bps": 0, 88 "bps_rd": 0, 89 "cache": { 90 "no-flush": false, 91 "direct": false, 92 "writeback": true 93 }, 94 "file": "null-co://" 95 } 96 ] 97} 98{ 99 "return": [ 100 ] 101} 102{ 103 "timestamp": { 104 "seconds": TIMESTAMP, 105 "microseconds": TIMESTAMP 106 }, 107 "event": "SHUTDOWN", 108 "data": { 109 "guest": false, 110 "reason": "host-qmp-quit" 111 } 112} 113{ 114 "return": { 115 } 116} 117 118 119== property changes in ThrottleGroup == 120Testing: 121{ 122 QMP_VERSION 123} 124{ 125 "return": { 126 } 127} 128{ 129 "return": { 130 } 131} 132{ 133 "return": { 134 "bps-read-max-length": 1, 135 "iops-read-max-length": 1, 136 "bps-read-max": 0, 137 "bps-total": 0, 138 "iops-total-max-length": 1, 139 "iops-total": 1000, 140 "iops-write-max": 0, 141 "bps-write": 0, 142 "bps-total-max": 0, 143 "bps-write-max": 0, 144 "iops-size": 0, 145 "iops-read": 0, 146 "iops-write-max-length": 1, 147 "iops-write": 0, 148 "bps-total-max-length": 1, 149 "iops-read-max": 0, 150 "bps-read": 0, 151 "bps-write-max-length": 1, 152 "iops-total-max": 0 153 } 154} 155{ 156 "return": { 157 } 158} 159{ 160 "return": { 161 "bps-read-max-length": 1, 162 "iops-read-max-length": 1, 163 "bps-read-max": 0, 164 "bps-total": 0, 165 "iops-total-max-length": 1, 166 "iops-total": 0, 167 "iops-write-max": 0, 168 "bps-write": 0, 169 "bps-total-max": 0, 170 "bps-write-max": 0, 171 "iops-size": 0, 172 "iops-read": 0, 173 "iops-write-max-length": 1, 174 "iops-write": 0, 175 "bps-total-max-length": 1, 176 "iops-read-max": 0, 177 "bps-read": 0, 178 "bps-write-max-length": 1, 179 "iops-total-max": 0 180 } 181} 182{ 183 "timestamp": { 184 "seconds": TIMESTAMP, 185 "microseconds": TIMESTAMP 186 }, 187 "event": "SHUTDOWN", 188 "data": { 189 "guest": false, 190 "reason": "host-qmp-quit" 191 } 192} 193{ 194 "return": { 195 } 196} 197 198 199== object creation/set errors == 200Testing: 201{ 202 QMP_VERSION 203} 204{ 205 "return": { 206 } 207} 208{ 209 "return": { 210 } 211} 212{ 213 "error": { 214 "class": "GenericError", 215 "desc": "Property cannot be set after initialization" 216 } 217} 218{ 219 "error": { 220 "class": "GenericError", 221 "desc": "bps/iops/max total values and read/write values cannot be used at the same time" 222 } 223} 224{ 225 "timestamp": { 226 "seconds": TIMESTAMP, 227 "microseconds": TIMESTAMP 228 }, 229 "event": "SHUTDOWN", 230 "data": { 231 "guest": false, 232 "reason": "host-qmp-quit" 233 } 234} 235{ 236 "return": { 237 } 238} 239 240 241== don't specify group == 242Testing: 243{ 244 QMP_VERSION 245} 246{ 247 "return": { 248 } 249} 250{ 251 "return": { 252 } 253} 254{ 255 "error": { 256 "class": "GenericError", 257 "desc": "Parameter 'throttle-group' is missing" 258 } 259} 260{ 261 "timestamp": { 262 "seconds": TIMESTAMP, 263 "microseconds": TIMESTAMP 264 }, 265 "event": "SHUTDOWN", 266 "data": { 267 "guest": false, 268 "reason": "host-qmp-quit" 269 } 270} 271{ 272 "return": { 273 } 274} 275 276 277*** done 278