示例#1
0
    def test_group_9days_by_test(self):
        """
        Tests that summarize_by() correctly accumulates by multiple days, including time periods
        greater than 1 week.
        """

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(test_failures.Report.TEST,
                                             time_period=datetime.timedelta(days=9))

        self.assertEqual(3, len(summed_entries))
        self.assertEqual(summed_entries[0], self.ENTRY._replace(
            task=test_failures.Wildcard("tasks"),
            distro=test_failures.Wildcard("distros"),
            start_date=datetime.date(2017, 6, 3),
            end_date=datetime.date(2017, 6, 11),
            num_pass=3,
            num_fail=2,
        ))
        self.assertEqual(summed_entries[1], self.ENTRY._replace(
            variant="linux-64-debug",
            start_date=datetime.date(2017, 6, 12),
            end_date=datetime.date(2017, 6, 17),
            num_pass=0,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[2], self.ENTRY._replace(
            test="jstests/core/all2.js",
            start_date=datetime.date(2017, 6, 3),
            end_date=datetime.date(2017, 6, 11),
            num_pass=1,
            num_fail=0,
        ))
示例#2
0
    def test_group_all_by_variant_task(self):
        """
        Tests that summarize_by() correctly accumulates all unique combinations of (variant, task).
        """

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(["variant", "task"])
        self.assertEqual(3, len(summed_entries))
        self.assertEqual(summed_entries[0], self.ENTRY._replace(
            task="jsCore",
            start_date=datetime.date(2017, 6, 5),
            end_date=datetime.date(2017, 6, 5),
            num_pass=0,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[1], self.ENTRY._replace(
            test=test_failures.Wildcard("tests"),
            distro=test_failures.Wildcard("distros"),
            start_date=datetime.date(2017, 6, 3),
            end_date=datetime.date(2017, 6, 10),
            num_pass=4,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[2], self.ENTRY._replace(
            variant="linux-64-debug",
            start_date=datetime.date(2017, 6, 17),
            end_date=datetime.date(2017, 6, 17),
            num_pass=0,
            num_fail=1,
        ))
示例#3
0
    def test_group_all_by_test_task(self):
        """
        Tests that summarize_by() correctly accumulates all unique combinations of (test, task).
        """

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(test_failures.Report.TEST_TASK)
        self.assertEqual(3, len(summed_entries))
        self.assertEqual(summed_entries[0], self.ENTRY._replace(
            task="jsCore",
            start_date=datetime.date(2017, 6, 5),
            end_date=datetime.date(2017, 6, 5),
            num_pass=0,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[1], self.ENTRY._replace(
            variant=test_failures.Wildcard("variants"),
            distro=test_failures.Wildcard("distros"),
            start_date=datetime.date(2017, 6, 3),
            end_date=datetime.date(2017, 6, 17),
            num_pass=3,
            num_fail=2,
        ))
        self.assertEqual(summed_entries[2], self.ENTRY._replace(
            test="jstests/core/all2.js",
            start_date=datetime.date(2017, 6, 10),
            end_date=datetime.date(2017, 6, 10),
            num_pass=1,
            num_fail=0,
        ))
示例#4
0
    def test_group_weekly_by_test_starting_on_date(self):
        """
        Tests that summarize_by() correctly accumulates by week when the beginning of the week is
        specified as a datetime.date() value.
        """

        date = datetime.date(2017, 6, 7)
        self.assertEqual(2, date.weekday(), "2017 Jun 07 is a Wednesday")

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(
            test_failures.Report.TEST,
            time_period=test_failures.Report.WEEKLY,
            start_day_of_week=date)

        self.assertEqual(4, len(summed_entries))
        self.assertEqual(
            summed_entries[0],
            self.ENTRY._replace(
                task=test_failures.Wildcard("tasks"),
                start_date=datetime.date(2017, 6, 3),
                end_date=datetime.date(2017, 6, 6),
                num_pass=1,
                num_fail=1,
            ))
        self.assertEqual(
            summed_entries[1],
            self.ENTRY._replace(
                distro=test_failures.Wildcard("distros"),
                start_date=datetime.date(2017, 6, 7),
                end_date=datetime.date(2017, 6, 13),
                num_pass=2,
                num_fail=1,
            ))
        self.assertEqual(
            summed_entries[2],
            self.ENTRY._replace(
                variant="linux-64-debug",
                start_date=datetime.date(2017, 6, 14),
                end_date=datetime.date(2017, 6, 17),
                num_pass=0,
                num_fail=1,
            ))
        self.assertEqual(
            summed_entries[3],
            self.ENTRY._replace(
                test="jstests/core/all2.js",
                start_date=datetime.date(2017, 6, 7),
                end_date=datetime.date(2017, 6, 13),
                num_pass=1,
                num_fail=0,
            ))
示例#5
0
    def test_group_weekly_by_test_starting_on_monday(self):
        """
        Tests that summarize_by() correctly accumulates by week when the beginning of the week is
        specified as the string "monday".
        """

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(
            test_failures.Report.TEST,
            time_period=test_failures.Report.WEEKLY,
            start_day_of_week=test_failures.Report.MONDAY)

        self.assertEqual(4, len(summed_entries))
        self.assertEqual(
            summed_entries[0],
            self.ENTRY._replace(
                start_date=datetime.date(2017, 6, 3),
                end_date=datetime.date(2017, 6, 4),
                num_pass=1,
                num_fail=0,
            ))
        self.assertEqual(
            summed_entries[1],
            self.ENTRY._replace(
                task=test_failures.Wildcard("tasks"),
                distro=test_failures.Wildcard("distros"),
                start_date=datetime.date(2017, 6, 5),
                end_date=datetime.date(2017, 6, 11),
                num_pass=2,
                num_fail=2,
            ))
        self.assertEqual(
            summed_entries[2],
            self.ENTRY._replace(
                variant="linux-64-debug",
                start_date=datetime.date(2017, 6, 12),
                end_date=datetime.date(2017, 6, 17),
                num_pass=0,
                num_fail=1,
            ))
        self.assertEqual(
            summed_entries[3],
            self.ENTRY._replace(
                test="jstests/core/all2.js",
                start_date=datetime.date(2017, 6, 5),
                end_date=datetime.date(2017, 6, 11),
                num_pass=1,
                num_fail=0,
            ))
示例#6
0
    def test_group_daily_by_test(self):
        """
        Tests that summarize_by() correctly accumulates by day.
        """

        report = test_failures.Report(self.ENTRIES)
        summed_entries = report.summarize_by(test_failures.Report.TEST,
                                             time_period=test_failures.Report.DAILY)

        self.assertEqual(6, len(summed_entries))
        self.assertEqual(summed_entries[0], self.ENTRY._replace(
            start_date=datetime.date(2017, 6, 3),
            end_date=datetime.date(2017, 6, 3),
            num_pass=1,
            num_fail=0,
        ))
        self.assertEqual(summed_entries[1], self.ENTRY._replace(
            task="jsCore",
            start_date=datetime.date(2017, 6, 5),
            end_date=datetime.date(2017, 6, 5),
            num_pass=0,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[2], self.ENTRY._replace(
            start_date=datetime.date(2017, 6, 9),
            end_date=datetime.date(2017, 6, 9),
            num_pass=1,
            num_fail=0,
        ))
        self.assertEqual(summed_entries[3], self.ENTRY._replace(
            distro=test_failures.Wildcard("distros"),
            start_date=datetime.date(2017, 6, 10),
            end_date=datetime.date(2017, 6, 10),
            num_pass=1,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[4], self.ENTRY._replace(
            variant="linux-64-debug",
            start_date=datetime.date(2017, 6, 17),
            end_date=datetime.date(2017, 6, 17),
            num_pass=0,
            num_fail=1,
        ))
        self.assertEqual(summed_entries[5], self.ENTRY._replace(
            test="jstests/core/all2.js",
            start_date=datetime.date(2017, 6, 10),
            end_date=datetime.date(2017, 6, 10),
            num_pass=1,
            num_fail=0,
        ))