Mercurial > paraspace
comparison paraspace/tests/dexfile_test.py @ 124:8e42b2816893
Fixing compute_size() and sizeof() for DEX types.
- Prevent compute_size() and sizeof() of depend_* to include size of
depend-on.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 07 Aug 2011 22:07:08 +0800 |
parents | 6e4b6414789b |
children | ff6f869273b7 |
comparison
equal
deleted
inserted
replaced
123:78357afb4a9d | 124:8e42b2816893 |
---|---|
277 assert isinstance(clazz_def.annotationsOffRef.value, | 277 assert isinstance(clazz_def.annotationsOffRef.value, |
278 dexfile._DEX_AnnotationsDirectoryItem) | 278 dexfile._DEX_AnnotationsDirectoryItem) |
279 pass | 279 pass |
280 | 280 |
281 | 281 |
282 def update_offset_test(): | |
283 from paraspace.dex_deptracker import collect_all_dep_decls | |
284 from paraspace.dex_deptracker import build_dependencies | |
285 from paraspace.dex_deptracker import _install_markers | |
286 from paraspace.dex_deptracker import _patch_dex_type_markers | |
287 from paraspace.dex_deptracker import update_offset | |
288 | |
289 _install_dexfile_4_deptracker() | |
290 | |
291 all_dep_decls = collect_all_dep_decls() | |
292 _install_markers(all_dep_decls) | |
293 _patch_dex_type_markers(all_dep_decls) | |
294 | |
295 srcdir = os.path.dirname(__file__) | |
296 srcroot = os.path.join(srcdir, '..', '..') | |
297 testdatapath = os.path.join(srcroot, 'data', 'testdata1.dex') | |
298 dex = dexfile.DEXFile.open(testdatapath) | |
299 | |
300 build_dependencies(dex, all_dep_decls) | |
301 | |
302 offset0 = dex.typeLists.items[0].value.data_offset | |
303 dex.typeLists.items[0].value.data_offset = 0 | |
304 offset1 = dex.typeLists.items[1].value.data_offset | |
305 dex.typeLists.items[1].value.data_offset = 0 | |
306 | |
307 update_offset(dex, all_dep_decls) | |
308 | |
309 assert dex.typeLists.items[0].value.data_offset == offset0 | |
310 assert dex.typeLists.items[1].value.data_offset == offset1 | |
311 pass | |
312 | |
313 | |
314 def restore_dependencies_test(): | 282 def restore_dependencies_test(): |
315 from paraspace.dex_deptracker import collect_all_dep_decls | 283 from paraspace.dex_deptracker import collect_all_dep_decls |
316 from paraspace.dex_deptracker import build_dependencies | 284 from paraspace.dex_deptracker import build_dependencies |
317 from paraspace.dex_deptracker import _install_markers | 285 from paraspace.dex_deptracker import _install_markers |
318 from paraspace.dex_deptracker import _patch_dex_type_markers | 286 from paraspace.dex_deptracker import _patch_dex_type_markers |