# Copyright 2016-2017 ARM Limited # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import os import sys import unittest import pandas as pd from pandas.util.testing import assert_series_equal import utils_tests import trappy @unittest.skipUnless(utils_tests.trace_cmd_installed(), "trace-cmd not installed") class TestCpuIdle(utils_tests.SetupDirectory): def __init__(self, *args, **kwargs): super(TestCpuIdle, self).__init__( [("trace_idle.dat", "trace.dat")], *args, **kwargs) def test_get_dataframe(self): """Test that CpuIdle creates a proper data_frame""" df = trappy.FTrace(normalize_time=False).cpu_idle.data_frame exp_index = pd.Float64Index([ 162534.215764, 162534.216001, 162534.216552, 162534.216568, 162534.217401, 162534.217521, 162534.217655, 162534.219077, 162534.219252, 162534.219268, 162534.219329, 162534.219336, 162534.219587, 162534.219763, 162534.219853, 162534.220947, 162534.220947 ], name="Time") exp_states = pd.Series([ 2, -1, 2, -1, -1, -1, 2, -1, 2, -1, 0, 0, 2, -1, 2, -1, -1 ], index=exp_index, name="state") exp_cpus = pd.Series([ 5, 2, 2, 1, 3, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 3, 1 ], index=exp_index, name="cpu_id") assert_series_equal(df["state"], exp_states, check_exact=True) assert_series_equal(df["cpu_id"], exp_cpus, check_exact=True)