Ejemplo n.º 1
0
    def test_statsdb(self):
        with temporary_dir() as tmpdir:
            path = os.path.join(tmpdir, 'statsdb.sqlite')
            statsdb = StatsDB(path)
            statsdb.ensure_tables()
            statsdb.insert_stats({
                'run_info': {
                    'id': 'run1',
                    'timestamp': '1438600000',
                    'machine': 'ernie',
                    'user': '******',
                    'version': '9.8.7',
                    'buildroot': '/path/to/repo',
                    'outcome': 'SUCCESS',
                    'cmd_line': 'pants compile --foo-bar baz:qux'
                },
                'cumulative_timings': [],
                'self_timings':
                [t('compile.java', 12.34),
                 t('resolve.ivy', 56)]
            })
            statsdb.insert_stats({
                'run_info': {
                    'id': 'run2',
                    'timestamp': '1438600000',
                    'machine': 'ernie',
                    'user': '******',
                    'version': '9.8.7',
                    'buildroot': '/path/to/repo',
                    'outcome': 'SUCCESS',
                    'cmd_line': 'pants compile --foo-bar baz:qux'
                },
                'cumulative_timings': [],
                'self_timings': [t('compile.java', 9)]
            })

            stats = list(
                statsdb.get_stats_for_cmd_line('self_timings', '% compile %'))
            self.assertEqual(
                sorted([('compile.java', 9000), ('compile.java', 12340),
                        ('resolve.ivy', 56000)]), sorted(stats))

            aggs = list(
                statsdb.get_aggregated_stats_for_cmd_line(
                    'self_timings', '% compile %'))
            self.assertEqual(
                sorted([('2015-08-03', 'compile.java', 2, 21340),
                        ('2015-08-03', 'resolve.ivy', 1, 56000)]),
                sorted(aggs))
Ejemplo n.º 2
0
 def test_create_nonexisting_dir(self):
   # This tests that we can create a database in a directory that does not exist.
   with temporary_dir() as tmpdir:
     path = os.path.join(tmpdir, 'nonexistSubdir', 'statsdb.sqlite')
     statsdb = StatsDB(path)
     statsdb.ensure_tables()