Esempio n. 1
0
 def test_run_tests_exits_on_failed_test(self):
     """
     tests that run_tests exits when app tests fail and writes to log.
     """
     now = datetime.datetime.utcnow()
     yesterday = now - datetime.timedelta(days=1)
     os.makedirs(os.path.join(os.path.dirname(self.log_file), 'test_results'), exist_ok=True)
     os.makedirs(os.path.join(self.app_home, self.app_name), exist_ok=True)
     log_file_now = os.path.join(
         os.path.dirname(self.log_file), 'test_results', 'test_%s.log' % (now.strftime('%Y%m%d-%H%M%S'))
     )
     log_file_yesterday = os.path.join(
         os.path.dirname(self.log_file), 'test_results', 'test_%s.log' % (yesterday.strftime('%Y%m%d-%H%M%S'))
     )
     install_django_app = InstallDjangoApp(
         self.dist_version, self.log_file, self.log_level, venv=self.venv, git_repo=self.git_repo
     )
     with open(log_file_now, 'w') as log:
         log.write('FAILED')
     with open(log_file_yesterday, 'w') as log:
         log.write('OK')
     try:
         install_django_app.run_tests(self.app_home)
         self.fail('run_tests did not exit on failed test')
     except SystemExit as error:
         self.assertEqual(1, error.code, 'run_tests exited with: %s' % str(error))
         self.log('ERROR: %s tests failed' % self.app_name)
Esempio n. 2
0
 def test_run_tests_log_file(self):
     """
     tests that run_tests logs to the right file.
     """
     os.makedirs(os.path.join(self.app_home, self.app_name), exist_ok=True)
     install_django_app = InstallDjangoApp(
         self.dist_version, self.log_file, self.log_level, venv=self.venv, git_repo=self.git_repo,
     )
     install_django_app.run_tests(self.app_home)
     if self.dist_version == '14.04':
         args, kwargs = subprocess.check_call.call_args
     if self.dist_version == '16.04':
         args, kwargs = subprocess.run.call_args
     self.assertTrue(isinstance(kwargs['stderr'], io.TextIOWrapper), kwargs['stderr'])
     log_file_regex = re.compile('%s/test_results/test_\d{8}-\d{6}\.log' % os.path.dirname(self.log_file))
     self.assertTrue(
         log_file_regex.match(kwargs['stderr'].name), kwargs['stderr'].name
     )