:: Author: Manuel de la Pena :: :: Copyright 2010 Canonical Ltd. :: :: This program is free software: you can redistribute it and/or modify it :: under the terms of the GNU General Public License version 3, as published :: by the Free Software Foundation. :: :: This program is distributed in the hope that it will be useful, but :: WITHOUT ANY WARRANTY; without even the implied warranties of :: MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . @ECHO off :: We could have Python 2.6 or 2.7 on Windows. In order to check availability, :: we should first check for 2.7, and run the tests, otherwise fall back to 2.6. SET PYTHONEXEPATH="" :: This is very annoying; FOR /F will work differently depending on the output :: of reg which is not consistent between OS versions (XP, 7). We must choose :: the tokens according to OS version. SET PYTHONPATHTOKENS=3 VER | FIND "XP" > nul IF %ERRORLEVEL% == 0 SET PYTHONPATHTOKENS=4 ECHO Checking if python 2.7 is in the system :: Look for python 2.7 FOR /F "tokens=%PYTHONPATHTOKENS%" %%A IN ('REG QUERY HKLM\Software\Python\PythonCore\2.7\InstallPath /ve') DO @SET PYTHONEXEPATH=%%A IF NOT %PYTHONEXEPATH% == "" GOTO :PYTHONPRESENT ECHO Checking if python 2.6 is in the system :: we do not have python 2.7 in the system, try to find 2.6 FOR /F "tokens=%PYTHONPATHTOKENS%" %%A IN ('REG QUERY HKLM\Software\Python\PythonCore\2.6\InstallPath /ve') DO @SET PYTHONEXEPATH=%%A IF NOT %PYTHONEXEPATH% == "" GOTO :PYTHONPRESENT :: we do not have python (2.6 or 2.7) this could hapen in the case that the :: user installed the 32version in a 64 machine, let check if the software was installed in the wow key :: Look for python 2.7 in WoW64 ECHO Checking if python 2.7 32 is in the system FOR /F "tokens=%PYTHONPATHTOKENS%" %%A IN ('REG QUERY HKLM\Software\Wow6432Node\Python\PythonCore\2.7\InstallPath /ve') DO @SET PYTHONEXEPATH=%%A IF NOT %PYTHONEXEPATH% == "" GOTO :PYTHONPRESENT ECHO Checking if python 2.6 32 is in the system :: we do not have python 2.7 in the system, try to find 2.6 FOR /F "tokens=%PYTHONPATHTOKENS%" %%A IN ('REG QUERY HKLM\Software\Wow6432Node\Python\PythonCore\2.6\InstallPath /ve') DO @SET PYTHONEXEPATH=%%A IF NOT %PYTHONEXEPATH% == "" GOTO :PYTHONPRESENT ECHO Please ensure you have python installed GOTO :END :PYTHONPRESENT ECHO Python found, executing the tests... COPY windows\clientdefs.py ubuntuone\clientdefs.py COPY windows\logging.conf data\logging.conf :: execute the tests with a number of ignored linux only modules "%PYTHONEXEPATH%\python.exe" "%PYTHONEXEPATH%\Scripts\u1trial" --reactor=twisted -c tests -p tests\platform\linux %* "%PYTHONEXEPATH%\python.exe" "%PYTHONEXEPATH%\Scripts\u1lint" :: test for style if we can, if pep8 is not present, move to the end IF EXIST "%PYTHONEXEPATH%\Scripts\pep8.exe" "%PYTHONEXEPATH%\Scripts\pep8.exe" --repeat ubuntuone ELSE ECHO Style checks were not done :: Delete the temp folders RMDIR /s /q _trial_temp RMDIR /s /q .coverage :END