casper tests: Keep var/casper/server.log till it has 100kb.

Previously, var/casper/server.log was overwritten before every run of
run-casper. This commit implements the simplest form of log rotation,
by overwriting server.log only if it has more than 100kb.
This commit is contained in:
Rishi Gupta
2016-11-01 17:01:21 -07:00
committed by Tim Abbott
parent f9f0f29298
commit a3400a6862

View File

@@ -73,13 +73,18 @@ subprocess.check_call(['mkdir', '-p', 'var/casper'])
subprocess.check_call(['rm', '-f'] + glob.glob('var/casper/casper-failure*.png')) subprocess.check_call(['rm', '-f'] + glob.glob('var/casper/casper-failure*.png'))
log = open('var/casper/server.log', 'w') LOG_FILE = 'var/casper/server.log'
if os.path.exists(LOG_FILE) and os.path.getsize(LOG_FILE) < 100000:
log = open(LOG_FILE, 'a')
log.write('\n\n')
else:
log = open(LOG_FILE, 'w')
def assert_server_running(server): def assert_server_running(server):
# type: (subprocess.Popen) -> None # type: (subprocess.Popen) -> None
"""Get the exit code of the server, or None if it is still running.""" """Get the exit code of the server, or None if it is still running."""
if server.poll() is not None: if server.poll() is not None:
raise RuntimeError('Server died unexpectedly! Check var/casper/server.log') raise RuntimeError('Server died unexpectedly! Check %s' % (LOG_FILE,))
def server_is_up(server): def server_is_up(server):
# type: (subprocess.Popen) -> bool # type: (subprocess.Popen) -> bool
@@ -145,10 +150,10 @@ def run_tests(realms_have_subdomains, files):
if ret != 0: if ret != 0:
print(""" print("""
Oops, the frontend tests failed. Tips for debugging: Oops, the frontend tests failed. Tips for debugging:
* Check the frontend test server logs at var/casper/server.log * Check the frontend test server logs at %s
* Check the screenshots of failed tests at var/casper/casper-failure*.png * Check the screenshots of failed tests at var/casper/casper-failure*.png
* Try remote debugging the test web browser as described in docs/testing.rst * Try remote debugging the test web browser as described in docs/testing.rst
""", file=sys.stderr) """ % (LOG_FILE,), file=sys.stderr)
sys.exit(ret) sys.exit(ret)