1f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward#!/usr/bin/python 2f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 3f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardimport gc 4f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardimport logging 567ad67d564fd605dc0ac3671b1620a601cfc6c90Justin Giorgiimport unittest 6f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 7f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardimport common 8f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardfrom autotest_lib.client.common_lib.test_utils import mock 9f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardfrom autotest_lib.scheduler import gc_stats 10f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 11f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 12f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardclass TestGcStats(unittest.TestCase): 13f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward def setUp(self): 14f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward self.god = mock.mock_god() 15f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 16f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 17f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward def tearDown(self): 18f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward self.god.unstub_all() 19f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 20f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 21f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward def test_log_garbage_collector_stats(self): 22f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward # Call this for code coverage. 23f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward # Prevent log spam from this test but do test that the log 24f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward # message formats correctly. 25f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward def _mock_logging_func(message, *args): 26f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward if args: 27f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward message %= args 28f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward self.god.stub_with(logging, 'debug', _mock_logging_func) 29f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward self.god.stub_with(logging, 'info', _mock_logging_func) 30f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward gc_stats._log_garbage_collector_stats() 31f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward # Add a new dict, exercise the delta counting & printing code. 32f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward y = {} 33f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward gc_stats._log_garbage_collector_stats(1) 34f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 35f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward 36f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshowardif __name__ == '__main__': 37f13a9e2b856ae9e4e2f43ef6cbc6083c7435167bshoward unittest.main() 38