contrib/windows/update_tortoisehg_libs.py @ 9030dc9517cf

web: add basic tests

This patch adds a new test module `test_web` to automate testing of web
requests. For now the tests are rather simple and only check for
expected status codes.

To set up the flask app within the tests, it has to be configured
properly. This is the reason why the app configuration part in `web.py`
has been moved into an own function - now it may also be used by the
test module.
author Oben Sonne <obensonne@googlemail.com>
date Mon, 02 Jul 2012 22:32:48 +0200
parents 1d9c439bfe54
children fc97fabaf28d
# this script will update tortoisehgs python libs to include the missing libs that hg-review needs
# (tested with Python 2.6 and Tortoisehg 1.1)
#
# Daniel Newton <djpnewton@gmail.com>
#
# Version 1.0 (2010/07/28)

import sys
import os

# check python version
if sys.version[:3] != '2.6':
    sys.exit('Need Python 2.6')

# check for windows
if sys.platform != 'win32':
    sys.exit('Script only works on win32')

# list of libs to add
libs = ('Cookie.py', 'decimal.py', 'htmlentitydefs.py', 'code.py', 'codeop.py', 'compiler', 'numbers.py', 'symbol.py', 'uuid.py')

# find python lib path
pylib_path = os.path.join(os.path.dirname(sys.executable), 'lib')

# find tortoisehg libary.zip
import _winreg
hKey = _winreg.OpenKey (_winreg.HKEY_CURRENT_USER, r"Software\TortoiseHg")
value, type = _winreg.QueryValueEx (hKey, "") # default key value
hKey.Close()
torthg_lib_path = os.path.join(value, "library.zip")

# check validity of paths
if not os.path.exists(pylib_path):
    sys.exit("%s does not exist" % pylib_path)
if not os.path.exists(torthg_lib_path):
    sys.exit("%s does not exist" % torthg_lib_path)

# backup tortoisehg lib
import shutil
shutil.copyfile(torthg_lib_path, torthg_lib_path + ".bak")

# add libs to tortoisehg
import zipfile
zip = zipfile.ZipFile(torthg_lib_path, 'a')
for lib in libs:
    lib_path = os.path.join(pylib_path, lib)
    lib_path_arcname = os.path.basename(lib_path)
    zip.write(lib_path, lib_path_arcname)
    if os.path.isdir(lib_path):
        child_paths = os.listdir(lib_path)
        for lib_path_child in child_paths:
            lib_path_child_arcname = os.path.join(lib_path_arcname, lib_path_child)
            lib_path_child = os.path.join(lib_path, lib_path_child)
            zip.write(lib_path_child, lib_path_child_arcname)
zip.close()

print 'all done'