def test_deserialize(self): p = ProfileV1(copy.deepcopy(self.test_data)) s = p.serialize() fobj = io.BytesIO(s) p2 = ProfileV1.deserialize(fobj) self.assertEqual(p2.data, self.test_data)
def test_deserialize(self): p = ProfileV2.upgrade(ProfileV1(copy.deepcopy(self.test_data))) s = p.serialize() fobj = io.BytesIO(s) p2 = ProfileV2.deserialize(fobj) l = list(p2.getCodeForFunction('fn1')) l2 = self.test_data['functions']['fn1']['data'] self.assertEqual(l, l2)
def test_saveFromRendered(self): p = ProfileV1(copy.deepcopy(self.test_data)) s = Profile(p).render() with tempfile.NamedTemporaryFile() as f: Profile.saveFromRendered(s, filename=f.name) p2 = ProfileV1.deserialize(open(f.name)) self.assertEqual(p2.data, self.test_data)
def test_getFunctions(self): p = ProfileV2.upgrade(ProfileV1(copy.deepcopy(self.test_data))) self.assertEqual( p.getFunctions(), { 'fn1': { 'counters': { 'cycles': 45.0, 'branch-misses': 10.0 }, 'length': 2 } })
def test_serialize(self): p = ProfileV2.upgrade(ProfileV1(copy.deepcopy(self.test_data))) with tempfile.NamedTemporaryFile() as f: s = p.serialize(f.name) self.assertTrue(ProfileV2.checkFile(f.name))