def test_buildInfo(self): test_dir = util.writeTestFiles(Test_Build_Info, True) # commit all the test files to git so that the VCS build info gets # defined: # (set up the git user env vars so we can run git commit without barfing) util.setupGitUser() subprocess.check_call(['git', 'init', '-q'], cwd=test_dir) subprocess.check_call(['git', 'add', '.'], cwd=test_dir) subprocess.check_call( ['git', 'commit', '-m', 'test build info automated commit', '-q'], cwd=test_dir) self.runCheckCommand( ['--target', util.nativeTarget(), 'build'], test_dir) build_time = datetime.datetime.utcnow() output = subprocess.check_output([ './build/' + util.nativeTarget().split(',')[0] + '/source/test-trivial-exe' ], cwd=test_dir).decode() self.assertIn('vcs clean: 1', output) # check build timestamp self.assertIn('build timestamp: ', output) build_timestamp_s = re.search('build timestamp: (.*)\n', output) self.assertTrue(build_timestamp_s) build_timestamp_s = build_timestamp_s.group(1) build_time_parsed = datetime.datetime.strptime(build_timestamp_s, '%Y-%m-%d-%H-%M-%S') build_time_skew = build_time_parsed - build_time self.assertTrue(abs(build_time_skew.total_seconds()) < 3)
def test_buildInfo(self): test_dir = util.writeTestFiles(Test_Build_Info, True) # commit all the test files to git so that the VCS build info gets # defined: # (set up the git user env vars so we can run git commit without barfing) util.setupGitUser() subprocess.check_call(['git', 'init', '-q'], cwd=test_dir) subprocess.check_call(['git', 'add', '.'], cwd=test_dir) subprocess.check_call(['git', 'commit', '-m', 'test build info automated commit', '-q'], cwd=test_dir) self.runCheckCommand(['--target', util.nativeTarget(), 'build'], test_dir) build_time = datetime.datetime.utcnow() output = subprocess.check_output(['./build/' + util.nativeTarget().split(',')[0] + '/source/test-trivial-exe'], cwd=test_dir).decode() self.assertIn('vcs clean: 1', output) # check build timestamp self.assertIn('build timestamp: ', output) build_timestamp_s = re.search('build timestamp: (.*)\n', output) self.assertTrue(build_timestamp_s) build_timestamp_s = build_timestamp_s.group(1) build_time_parsed = datetime.datetime.strptime(build_timestamp_s, '%Y-%m-%d-%H-%M-%S') build_time_skew = build_time_parsed - build_time self.assertTrue(abs(build_time_skew.total_seconds()) < 3)
def setUpClass(cls): # set up the git user environment variables so that git doesn't barf # if we try to commit without a user: util.setupGitUser() cls.working_copy = vcs.Git.cloneToTemporaryDir(Test_Repo_git)