def testOutputDirNoSubdirs(self): build = builder.Builder(self.toolchains, BASE_DIR, None, 1, 2, checkout=False, show_unknown=False, no_subdirs=True) build.commits = None build.commit_count = 0 self.CheckDirs(build, '')
def _SetupTest(self, echo_lines=False, threads=1, **kwdisplay_args): """Set up the test by running a build and summary Args: echo_lines: True to echo lines to the terminal to aid test development kwdisplay_args: Dict of arguemnts to pass to Builder.SetDisplayOptions() Returns: Iterator containing the output lines, each a PrintLine() object """ build = builder.Builder(self.toolchains, self.base_dir, None, threads, 2, checkout=False, show_unknown=False) build.do_make = self.Make board_selected = self.boards.GetSelectedDict() # Build the boards for the pre-defined commits and warnings/errors # associated with each. This calls our Make() to inject the fake output. build.BuildBoards(self.commits, board_selected, keep_outputs=False, verbose=False) lines = terminal.get_print_test_lines() count = 0 for line in lines: if line.text.strip(): count += 1 # We should get two starting messages, an update for every commit built # and a summary message self.assertEqual(count, len(commits) * len(boards) + 3) build.SetDisplayOptions(**kwdisplay_args); build.ShowSummary(self.commits, board_selected) if echo_lines: terminal.echo_print_test_lines() return iter(terminal.get_print_test_lines())
def testOutputDir(self): build = builder.Builder(self.toolchains, BASE_DIR, None, 1, 2, checkout=False, show_unknown=False) build.commits = self.commits build.commit_count = len(self.commits) subject = self.commits[1].subject.translate(builder.trans_valid_chars) dirname ='/%02d_g%s_%s' % (2, commits[1][0], subject[:20]) self.CheckDirs(build, dirname)
def testOutputDirCurrent(self): build = builder.Builder(self.toolchains, BASE_DIR, None, 1, 2, checkout=False, show_unknown=False) build.commits = None build.commit_count = 0 self.CheckDirs(build, '/current')
def testPrepareOutputSpace(self): def _Touch(fname): tools.write_file(os.path.join(base_dir, fname), b'') base_dir = tempfile.mkdtemp() # Add various files that we want removed and left alone to_remove = ['01_g0982734987_title', '102_g92bf_title', '01_g2938abd8_title'] to_leave = ['something_else', '01-something.patch', '01_another'] for name in to_remove + to_leave: _Touch(name) build = builder.Builder(self.toolchains, base_dir, None, 1, 2) build.commits = self.commits build.commit_count = len(commits) result = set(build._GetOutputSpaceRemovals()) expected = set([os.path.join(base_dir, f) for f in to_remove]) self.assertEqual(expected, result)