| OLD | NEW |
| 1 #!/usr/bin/python2.6.2 | 1 #!/usr/bin/python2.6.2 |
| 2 # Copyright 2009, Google Inc. | 2 # Copyright 2009, Google Inc. |
| 3 # All rights reserved. | 3 # All rights reserved. |
| 4 # | 4 # |
| 5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
| 6 # modification, are permitted provided that the following conditions are | 6 # modification, are permitted provided that the following conditions are |
| 7 # met: | 7 # met: |
| 8 # | 8 # |
| 9 # * Redistributions of source code must retain the above copyright | 9 # * Redistributions of source code must retain the above copyright |
| 10 # notice, this list of conditions and the following disclaimer. | 10 # notice, this list of conditions and the following disclaimer. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 """Utility functions for running the lab tests. | 32 """Utility functions for running the lab tests. |
| 33 | 33 |
| 34 """ | 34 """ |
| 35 | 35 |
| 36 import logging | 36 import logging |
| 37 import os | 37 import os |
| 38 import subprocess | 38 import subprocess |
| 39 import shutil | 39 import shutil |
| 40 import sys | 40 import sys |
| 41 import time | |
| 42 | 41 |
| 43 import runner_constants as const | 42 import runner_constants as const |
| 44 import util | 43 import util |
| 45 | 44 |
| 46 CHANGE_RESOLUTION_PATH = (const.O3D_PATH + '/o3d/tests/lab' | 45 CHANGE_RESOLUTION_PATH = (const.O3D_PATH + '/o3d/tests/lab' |
| 47 '/ChangeResolution/Debug/changeresolution.exe') | 46 '/ChangeResolution/Debug/changeresolution.exe') |
| 48 | 47 |
| 49 def EnsureWindowsScreenResolution(width, height, bpp): | 48 def EnsureWindowsScreenResolution(width, height, bpp): |
| 50 """Performs all steps needed to configure system for testing on Windows. | 49 """Performs all steps needed to configure system for testing on Windows. |
| 51 | 50 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 79 os.environ['PYTHONPATH'] = path | 78 os.environ['PYTHONPATH'] = path |
| 80 | 79 |
| 81 # Need to put at front of sys.path so python will try to import modules from | 80 # Need to put at front of sys.path so python will try to import modules from |
| 82 # path before locations further down the sys.path. | 81 # path before locations further down the sys.path. |
| 83 sys.path = [path] + sys.path | 82 sys.path = [path] + sys.path |
| 84 | 83 |
| 85 | 84 |
| 86 def InstallO3DPlugin(): | 85 def InstallO3DPlugin(): |
| 87 """Installs O3D plugin.""" | 86 """Installs O3D plugin.""" |
| 88 | 87 |
| 88 logging.info('Installing plugin...') |
| 89 if util.IsWindows(): | 89 if util.IsWindows(): |
| 90 installer_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.msi') | 90 installer_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.msi') |
| 91 |
| 92 if not os.path.exists(installer_path): |
| 93 logging.error('Installer path not found, %s' % installer_path) |
| 94 return False |
| 95 |
| 96 install_command = 'msiexec.exe /i "%s"' % installer_path |
| 97 if util.RunStr(install_command) != 0: |
| 98 return False |
| 99 |
| 91 elif util.IsMac(): | 100 elif util.IsMac(): |
| 92 dmg_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.dmg') | 101 dmg_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.dmg') |
| 93 volumes_path = util.MountDiskImage(dmg_path) | 102 mnt = util.MountDiskImage(dmg_path) |
| 94 if volumes_path is None: | 103 if mnt is None: |
| 95 return False | 104 return False |
| 96 else: | 105 (device, volumes_path) = mnt |
| 97 installer_path = os.path.join(volumes_path, 'O3D.mpkg') | 106 |
| 107 installer_path = os.path.join(volumes_path, 'O3D.mpkg') |
| 108 |
| 109 if not os.path.exists(installer_path): |
| 110 logging.error('Installer path not found, %s' % installer_path) |
| 111 util.UnmountDiskImage(device) |
| 112 return False |
| 113 |
| 114 admin_password = 'g00gl3' |
| 115 install_command = ('echo %s | sudo -S /usr/sbin/installer -pkg ' |
| 116 '"%s" -target /' % (admin_password, installer_path)) |
| 117 |
| 118 ret_code = util.RunStr(install_command) |
| 119 util.UnmountDiskImage(device) |
| 120 if ret_code != 0: |
| 121 return False |
| 122 |
| 98 else: | 123 else: |
| 99 plugin_path = os.path.join(const.PRODUCT_DIR_PATH, 'libnpo3dautoplugin.so') | 124 plugin_path = os.path.join(const.PRODUCT_DIR_PATH, 'libnpo3dautoplugin.so') |
| 100 plugin_dst_dir = os.path.expanduser('~/.mozilla/plugins') | 125 plugin_dst_dir = os.path.expanduser('~/.mozilla/plugins') |
| 101 try: | 126 try: |
| 102 os.makedirs(plugin_dst_dir) | 127 os.makedirs(plugin_dst_dir) |
| 103 except os.error: | 128 except os.error: |
| 104 pass | 129 pass |
| 105 | 130 |
| 106 plugin_dst = os.path.join(plugin_dst_dir, 'libnpo3dautoplugin.so') | 131 plugin_dst = os.path.join(plugin_dst_dir, 'libnpo3dautoplugin.so') |
| 107 shutil.copyfile(plugin_path, plugin_dst) | 132 shutil.copyfile(plugin_path, plugin_dst) |
| 108 return True | 133 return True |
| 109 | 134 |
| 110 logging.info('Installing plugin:"%s"', installer_path) | |
| 111 | |
| 112 if not os.path.exists(installer_path): | |
| 113 logging.error('Installer path not found, %s' % installer_path) | |
| 114 return False | |
| 115 | |
| 116 if util.IsWindows(): | |
| 117 install_command = 'msiexec.exe /i "%s"' % installer_path | |
| 118 elif util.IsMac(): | |
| 119 admin_password = 'g00gl3' | |
| 120 install_command = ('echo %s | sudo -S /usr/sbin/installer -pkg ' | |
| 121 '"%s" -target /' % (admin_password, installer_path)) | |
| 122 | |
| 123 logging.info('Installing...') | |
| 124 result = os.system(install_command) | |
| 125 if result: | |
| 126 logging.error('Install failed.') | |
| 127 return False | |
| 128 logging.info('Installed.') | |
| 129 | |
| 130 if util.IsMac(): | |
| 131 util.UnmountDiskImage(volumes_path) | |
| 132 | |
| 133 return True | 135 return True |
| 134 | 136 |
| 135 def UninstallO3DPlugin(): | 137 def UninstallO3DPlugin(): |
| 136 """Uninstalls O3D. | 138 """Uninstalls O3D. |
| 137 | 139 |
| 138 Returns: | 140 Returns: |
| 139 True, if O3D is no longer installed.""" | 141 True, if O3D is no longer installed.""" |
| 140 | 142 |
| 141 if util.IsWindows(): | 143 if util.IsWindows(): |
| 142 installer_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.msi') | 144 installer_path = os.path.join(const.PRODUCT_DIR_PATH, 'o3d.msi') |
| (...skipping 10 matching lines...) Expand all Loading... |
| 153 return not DoesAnO3DPluginExist() | 155 return not DoesAnO3DPluginExist() |
| 154 | 156 |
| 155 def DoesAnO3DPluginExist(): | 157 def DoesAnO3DPluginExist(): |
| 156 for path in const.INSTALL_PATHS: | 158 for path in const.INSTALL_PATHS: |
| 157 if os.path.exists(path): | 159 if os.path.exists(path): |
| 158 return True | 160 return True |
| 159 return False | 161 return False |
| 160 | 162 |
| 161 | 163 |
| 162 | 164 |
| OLD | NEW |