Beispiel #1
0
 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, '')
Beispiel #2
0
    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())
Beispiel #3
0
 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)
Beispiel #4
0
 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')
Beispiel #5
0
    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)