import os, time, signal SNAKE_COMPILEDIR = "@SNAKE_COMPILEDIR@" TESTSUITEDIR = SNAKE_COMPILEDIR + '/testsuite' APACHE_BINARY = "@TEST_HTTPD@" APACHE_2_0 = ("@APACHE_VER@" != "1.3") def start_server(defines=''): # Cleanup what we need to try: os.unlink(TESTSUITEDIR + '/logs/httpd.pid') except: pass if APACHE_2_0: cmdline = "%s -f %s -DSNAKE20" % (APACHE_BINARY, TESTSUITEDIR + '/conf/httpd2.0.conf') else: cmdline = "%s -f %s" % (APACHE_BINARY, TESTSUITEDIR + '/conf/httpd1.3.conf') res = os.system("%s %s" % (cmdline, defines)) if res != 0: raise 'Error starting server' # Wait for the PID file to appear for i in range(100): try: x = open(TESTSUITEDIR + '/logs/httpd.pid', 'r') except: x = None time.sleep(1) if not x: continue else: break if not x: raise 'Error starting server' def stop_server(): pid = int(open(SNAKE_COMPILEDIR + '/testsuite/logs/httpd.pid', 'r').read()) os.kill(pid, signal.SIGTERM)