skeleton/test/pytestconf.py
changeset 0 b97547f5f1fa
child 1977 606923dff11b
equal deleted inserted replaced
-1:000000000000 0:b97547f5f1fa
       
     1 import os
       
     2 import pwd
       
     3 
       
     4 from logilab.common.pytest import PyTester
       
     5 
       
     6 def getlogin():
       
     7     """avoid usinng os.getlogin() because of strange tty / stdin problems
       
     8     (man 3 getlogin)
       
     9     Another solution would be to use $LOGNAME, $USER or $USERNAME
       
    10     """
       
    11     return pwd.getpwuid(os.getuid())[0]
       
    12 
       
    13 
       
    14 def update_parser(parser):
       
    15     login = getlogin()
       
    16     parser.add_option('-r', '--rebuild-database', dest='rebuild_db',
       
    17                       default=False, action="store_true",
       
    18                       help="remove tmpdb and rebuilds the test database")
       
    19     parser.add_option('-u', '--dbuser', dest='dbuser', action='store',
       
    20                       default=login, help="database user")
       
    21     parser.add_option('-w', '--dbpassword', dest='dbpassword', action='store',
       
    22                       default=login, help="database name")
       
    23     parser.add_option('-n', '--dbname', dest='dbname', action='store',
       
    24                       default=None, help="database name")
       
    25     parser.add_option('--euser', dest='euser', action='store',
       
    26                       default=login, help="esuer name")
       
    27     parser.add_option('--epassword', dest='epassword', action='store',
       
    28                       default=login, help="euser's password' name")
       
    29     return parser
       
    30 
       
    31 
       
    32 class CustomPyTester(PyTester):
       
    33     def __init__(self, cvg, options):
       
    34         super(CustomPyTester, self).__init__(cvg, options)
       
    35         if options.rebuild_db:
       
    36             os.unlink('tmpdb')
       
    37             os.unlink('tmpdb-template')