Changeset 69099 in vbox for trunk/src/VBox/ValidationKit/testdriver
- Timestamp:
- Oct 17, 2017 8:59:23 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 118395
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testdriver/vbox.py
r68290 r69099 1283 1283 reporter.logXcpt('VirtualBoxManager exception'); 1284 1284 return False; 1285 reporter.log("oVBoxMgr=%s" % (self.oVBoxMgr,)); # Temporary - debugging hang somewhere after 'sys.path' log line above.1286 1285 1287 1286 # Figure the API version. 1288 1287 try: 1289 1288 oVBox = self.oVBoxMgr.getVirtualBox(); 1290 reporter.log("oVBox=%s" % (oVBox,)); # Temporary - debugging hang somewhere after 'sys.path' log line above. 1289 1291 1290 try: 1292 1291 sVer = oVBox.version; … … 1294 1293 reporter.logXcpt('Failed to get VirtualBox version, assuming 4.0.0'); 1295 1294 sVer = "4.0.0"; 1296 reporter.log("sVer=%s" % (sVer,)); # Temporary - debugging hang somewhere after 'sys.path' log line above. 1297 if sVer.startswith("5.2"): 1298 self.fpApiVer = 5.2; 1299 elif sVer.startswith("5.1"): 1300 self.fpApiVer = 5.1; 1301 elif sVer.startswith("5.0") or (sVer.startswith("4.3.5") and len(sVer) == 6): 1302 self.fpApiVer = 5.0; 1303 elif sVer.startswith("4.3") or (sVer.startswith("4.2.5") and len(sVer) == 6): 1304 self.fpApiVer = 4.3; 1305 elif sVer.startswith("4.2."): 1306 self.fpApiVer = 4.2; ## @todo Fudge: Add (proper) 4.2 API support. Unmount medium etc? 1307 elif sVer.startswith("4.1.") or (sVer.startswith("4.0.5") and len(sVer) == 6): 1308 self.fpApiVer = 4.1; 1309 elif sVer.startswith("4.0."): 1310 self.fpApiVer = 4.0; 1311 elif sVer.startswith("3.2."): 1312 self.fpApiVer = 3.2; 1313 elif sVer.startswith("3.1."): 1314 self.fpApiVer = 3.1; 1315 elif sVer.startswith("3.0."): 1316 self.fpApiVer = 3.0; 1317 else: 1318 raise base.GenError('Unknown version "%s"' % (sVer,)); 1319 1295 reporter.log("IVirtualBox.version=%s" % (sVer,)); 1296 1297 # Convert the string to three integer values and check ranges. 1298 asVerComponents = sVer.split('.'); 1299 try: 1300 sLast = asVerComponents[2].split('_')[0].split('r')[0]; 1301 aiVerComponents = (int(asVerComponents[0]), int(asVerComponents[1]), int(sLast)); 1302 except: 1303 raise base.GenError('Malformed version "%s"' % (sVer,)); 1304 if aiVerComponents[0] < 3 or aiVerComponents[0] > 19: 1305 raise base.GenError('Malformed version "%s" - 1st component is out of bounds 3..19: %u' 1306 % (sVer, aiVerComponents[0])); 1307 if aiVerComponents[1] < 0 or aiVerComponents[1] > 9: 1308 raise base.GenError('Malformed version "%s" - 2nd component is out of bounds 0..9: %u' 1309 % (sVer, aiVerComponents[1])); 1310 if aiVerComponents[2] < 0 or aiVerComponents[2] > 99: 1311 raise base.GenError('Malformed version "%s" - 3rd component is out of bounds 0..99: %u' 1312 % (sVer, aiVerComponents[2])); 1313 1314 # Convert the three integers into a floating point value. The API is table witin a 1315 # x.y release, so the third component only indicates whether it's a stable or 1316 # development build of the next release. 1317 self.fpApiVer = aiVerComponents[0] + 0.1 * aiVerComponents[1]; 1318 if aiVerComponents[2] >= 51: 1319 if self.fpApiVer not in [4.3, 3.2,]: 1320 self.fpApiVer += 0.1; 1321 else: 1322 self.fpApiVer += 1.1; 1323 1324 # Patch VBox manage to gloss over portability issues (error constants, etc). 1320 1325 self._patchVBoxMgr(); 1321 1326 1327 # Wrap oVBox. 1322 1328 from testdriver.vboxwrappers import VirtualBoxWrapper; 1323 1329 self.oVBox = VirtualBoxWrapper(oVBox, self.oVBoxMgr, self.fpApiVer, self); 1330 1331 # Install the constant wrapping hack. 1324 1332 vboxcon.goHackModuleClass.oVBoxMgr = self.oVBoxMgr; # VBoxConstantWrappingHack. 1325 vboxcon.fpApiVer = self.fpApiVer 1326 self.fImportedVBoxApi = True; 1327 reporter.log('Found version %s (%s)' % (self.fpApiVer, sVer)); 1333 vboxcon.fpApiVer = self.fpApiVer; 1334 1328 1335 except: 1329 1336 self.oVBoxMgr = None; 1330 1337 self.oVBox = None; 1331 reporter.logXcpt("getVirtualBox exception");1338 reporter.logXcpt("getVirtualBox / API version exception"); 1332 1339 return False; 1340 1341 # Done 1342 self.fImportedVBoxApi = True; 1343 reporter.log('Found version %s (%s)' % (self.fpApiVer, sVer)); 1333 1344 return True; 1334 1345
Note:
See TracChangeset
for help on using the changeset viewer.