Lines Matching refs:self

61   def __init__(self, name, is_dir, is_exec, is_symlink, size):  argument
62 self.name = name
63 self.is_dir = is_dir
64 self.is_exec = is_exec
65 self.is_symlink = is_symlink
66 self.size = size
68 def __str__(self): argument
70 % (self.name, self.is_dir, self.is_exec, self.is_symlink, self.size)
74 def __init__(self, apex, tmpdir, debugfs): argument
75 self._tmpdir = tmpdir
76 self._debugfs = debugfs
77 self._folder_cache = {}
78 self._payload = os.path.join(self._tmpdir, 'apex_payload.img')
83 def __del__(self): argument
85 if os.path.exists(self._payload):
86 os.remove(self._payload)
88 def get(self, path): argument
92 apex_map = self.read_dir(apex_dir)
95 def read_dir(self, apex_dir): argument
96 if apex_dir in self._folder_cache:
97 return self._folder_cache[apex_dir]
99 process = subprocess.Popen([self._debugfs, '-R', 'ls -l -p %s' % apex_dir, self._payload],
146 self._folder_cache[apex_dir] = apex_map
151 def __init__(self, apex): argument
152 self._folder_cache = {}
153 self._apex = apex
155 def get(self, path): argument
159 apex_map = self.read_dir(apex_dir)
162 def read_dir(self, apex_dir): argument
163 if apex_dir in self._folder_cache:
164 return self._folder_cache[apex_dir]
166 dirname = os.path.join(self._apex, apex_dir)
179 self._folder_cache[apex_dir] = apex_map
184 def __init__(self, apex, tmpdir): argument
185 self._tmpdir = tmpdir
186 self._folder_cache = {}
187 self._payload = os.path.join(self._tmpdir, 'apex_payload.zip')
192 def __del__(self): argument
194 if os.path.exists(self._payload):
195 os.remove(self._payload)
197 def get(self, path): argument
201 apex_map = self.read_dir(apex_dir)
204 def read_dir(self, apex_dir): argument
205 if apex_dir in self._folder_cache:
206 return self._folder_cache[apex_dir]
207 if not self._folder_cache:
208 self.parse_zip()
209 if apex_dir in self._folder_cache:
210 return self._folder_cache[apex_dir]
213 def parse_zip(self): argument
214 apex_zip = zipfile.ZipFile(self._payload)
234 if apex_dir not in self._folder_cache:
235 self._folder_cache[apex_dir] = {}
236 dir_map = self._folder_cache[apex_dir]
257 def __init__(self, provider): argument
258 self._provider = provider
259 self._errors = 0
260 self._expected_file_globs = set()
262 def fail(self, msg, *fail_args): argument
263 self._errors += 1
266 def error_count(self): argument
267 return self._errors
269 def reset_errors(self): argument
270 self._errors = 0
272 def is_file(self, path): argument
273 fs_object = self._provider.get(path)
280 def is_dir(self, path): argument
281 fs_object = self._provider.get(path)
288 def check_file(self, path): argument
289 ok, msg = self.is_file(path)
291 self.fail(msg, path)
292 self._expected_file_globs.add(path)
295 def check_executable(self, filename): argument
297 if not self.check_file(path):
299 if not self._provider.get(path).is_exec:
300 self.fail('%s is not executable', path)
302 def check_executable_symlink(self, filename): argument
304 fs_object = self._provider.get(path)
306 self.fail('Could not find %s', path)
309 self.fail('%s is a directory', path)
312 self.fail('%s is not a symlink', path)
313 self._expected_file_globs.add(path)
315 def arch_dirs_for_path(self, path): argument
325 found, _ = self.is_dir(dir)
330 def check_art_test_executable(self, filename): argument
331 dirs = self.arch_dirs_for_path(ART_TEST_DIR)
333 self.fail('ART test binary missing: %s', filename)
336 self._expected_file_globs.add(test_path)
337 if not self._provider.get(test_path).is_exec:
338 self.fail('%s is not executable', test_path)
340 def check_art_test_data(self, filename): argument
341 dirs = self.arch_dirs_for_path(ART_TEST_DIR)
343 self.fail('ART test data missing: %s', filename)
345 if not self.check_file('%s/%s' % (dir, filename)):
348 def check_single_library(self, filename): argument
351 lib_is_file, _ = self.is_file(lib_path)
353 self._expected_file_globs.add(lib_path)
354 lib64_is_file, _ = self.is_file(lib64_path)
356 self._expected_file_globs.add(lib64_path)
358 self.fail('Library missing: %s', filename)
360 def check_dexpreopt(self, basename): argument
361 dirs = self.arch_dirs_for_path('javalib')
364 self.check_file('%s/%s.%s' % (dir, basename, ext))
366 def check_java_library(self, basename): argument
367 return self.check_file('javalib/%s.jar' % basename)
369 def ignore_path(self, path_glob): argument
370 self._expected_file_globs.add(path_glob)
372 def check_optional_art_test_executable(self, filename): argument
374 self.ignore_path('%s/%s/%s' % (ART_TEST_DIR, arch, filename))
376 def check_no_superfluous_files(self, dir_path): argument
378 for name in sorted(self._provider.read_dir(dir_path).keys()):
383 for path_glob in self._expected_file_globs:
392 self.fail('Unexpected file \'%s\'', unexpected_path)
396 def check_symlinked_multilib_executable(self, filename): argument
400 def check_symlinked_first_executable(self, filename): argument
404 def check_multilib_executable(self, filename): argument
408 def check_first_executable(self, filename): argument
412 def check_native_library(self, basename): argument
416 def check_optional_native_library(self, basename_glob): argument
420 def check_prefer64_library(self, basename): argument
426 def check_symlinked_multilib_executable(self, filename): argument
427 self.check_executable('%s32' % filename)
428 self.check_executable_symlink(filename)
430 def check_symlinked_first_executable(self, filename): argument
431 self.check_executable('%s32' % filename)
432 self.check_executable_symlink(filename)
434 def check_multilib_executable(self, filename): argument
435 self.check_executable('%s32' % filename)
437 def check_first_executable(self, filename): argument
438 self.check_executable('%s32' % filename)
440 def check_native_library(self, basename): argument
443 self.check_file('lib/%s.so' % basename)
445 def check_optional_native_library(self, basename_glob): argument
446 self.ignore_path('lib/%s.so' % basename_glob)
448 def check_prefer64_library(self, basename): argument
449 self.check_native_library(basename)
453 def check_symlinked_multilib_executable(self, filename): argument
454 self.check_executable('%s64' % filename)
455 self.check_executable_symlink(filename)
457 def check_symlinked_first_executable(self, filename): argument
458 self.check_executable('%s64' % filename)
459 self.check_executable_symlink(filename)
461 def check_multilib_executable(self, filename): argument
462 self.check_executable('%s64' % filename)
464 def check_first_executable(self, filename): argument
465 self.check_executable('%s64' % filename)
467 def check_native_library(self, basename): argument
470 self.check_file('lib64/%s.so' % basename)
472 def check_optional_native_library(self, basename_glob): argument
473 self.ignore_path('lib64/%s.so' % basename_glob)
475 def check_prefer64_library(self, basename): argument
476 self.check_native_library(basename)
480 def check_symlinked_multilib_executable(self, filename): argument
481 self.check_executable('%s32' % filename)
482 self.check_executable('%s64' % filename)
483 self.check_executable_symlink(filename)
485 def check_symlinked_first_executable(self, filename): argument
486 self.check_executable('%s64' % filename)
487 self.check_executable_symlink(filename)
489 def check_multilib_executable(self, filename): argument
490 self.check_executable('%s64' % filename)
491 self.check_executable('%s32' % filename)
493 def check_first_executable(self, filename): argument
494 self.check_executable('%s64' % filename)
496 def check_native_library(self, basename): argument
499 self.check_file('lib/%s.so' % basename)
500 self.check_file('lib64/%s.so' % basename)
502 def check_optional_native_library(self, basename_glob): argument
503 self.ignore_path('lib/%s.so' % basename_glob)
504 self.ignore_path('lib64/%s.so' % basename_glob)
506 def check_prefer64_library(self, basename): argument
507 self.check_file('lib64/%s.so' % basename)
511 def __init__(self, checker): argument
512 self._checker = checker
514 def __str__(self): argument
517 def run(self): argument
519 self._checker.check_file('apex_manifest.pb')
522 self._checker.check_first_executable('dex2oat')
523 self._checker.check_executable('dexdump')
524 self._checker.check_executable('dexlist')
525 self._checker.check_executable('dexoptanalyzer')
526 self._checker.check_executable('profman')
527 self._checker.check_symlinked_multilib_executable('dalvikvm')
530 self._checker.check_native_library('libdexfile_external')
531 self._checker.check_native_library('libnativebridge')
532 self._checker.check_native_library('libnativehelper')
533 self._checker.check_native_library('libnativeloader')
536 self._checker.check_native_library('libadbconnection')
537 self._checker.check_native_library('libart')
538 self._checker.check_native_library('libart-compiler')
539 self._checker.check_native_library('libart-dexlayout')
540 self._checker.check_native_library('libart-disassembler')
541 self._checker.check_native_library('libartbase')
542 self._checker.check_native_library('libartpalette')
543 self._checker.check_native_library('libdexfile')
544 self._checker.check_native_library('libdexfile_support')
545 self._checker.check_native_library('libopenjdkjvm')
546 self._checker.check_native_library('libopenjdkjvmti')
547 self._checker.check_native_library('libprofile')
548 self._checker.check_native_library('libsigchain')
551 self._checker.check_java_library('apache-xml')
552 self._checker.check_java_library('bouncycastle')
553 self._checker.check_java_library('core-libart')
554 self._checker.check_java_library('core-oj')
555 self._checker.check_java_library('okhttp')
558 self._checker.check_java_library('jacocoagent')
561 self._checker.check_native_library('libjavacore')
562 self._checker.check_native_library('libopenjdk')
575 self._checker.check_native_library('libbacktrace')
576 self._checker.check_native_library('libbase')
577 self._checker.check_native_library('libc++')
578 self._checker.check_native_library('libdt_fd_forward')
579 self._checker.check_native_library('libdt_socket')
580 self._checker.check_native_library('libjdwp')
581 self._checker.check_native_library('liblzma')
582 self._checker.check_native_library('libnpt')
583 self._checker.check_native_library('libunwindstack')
584 self._checker.check_native_library('libziparchive')
585 self._checker.check_optional_native_library('libvixl') # Only on ARM/ARM64
588 self._checker.check_optional_native_library('libclang_rt.asan*')
589 self._checker.check_optional_native_library('libclang_rt.hwasan*')
590 self._checker.check_optional_native_library('libclang_rt.ubsan*')
593 self._checker.check_dexpreopt('boot')
594 self._checker.check_dexpreopt('boot-apache-xml')
595 self._checker.check_dexpreopt('boot-bouncycastle')
596 self._checker.check_dexpreopt('boot-core-libart')
597 self._checker.check_dexpreopt('boot-okhttp')
600 self._checker.check_dexpreopt('boot-jacocoagent')
603 def __init__(self, checker): argument
604 self._checker = checker
606 def __str__(self): argument
609 def run(self): argument
616 self._checker.check_executable('oatdump')
617 self._checker.check_multilib_executable('dex2oat')
620 self._checker.check_prefer64_library('libart-disassembler')
621 self._checker.check_native_library('libperfetto_hprof')
624 self._checker.check_native_library('libandroidio')
627 self._checker.check_native_library('libcrypto')
628 self._checker.check_native_library('libexpat')
632 self._checker.ignore_path('bin/arm')
633 self._checker.ignore_path('lib/arm')
634 self._checker.ignore_path('lib64/arm')
638 def __init__(self, checker): argument
639 self._checker = checker
641 def __str__(self): argument
644 def run(self): argument
646 self._checker.check_executable('hprof-conv')
647 self._checker.check_symlinked_first_executable('dex2oatd')
648 self._checker.check_symlinked_first_executable('dex2oat')
651 self._checker.check_native_library('libandroidicu-host')
652 self._checker.check_native_library('libandroidio')
655 self._checker.check_native_library('libexpat-host')
656 self._checker.check_native_library('libz-host')
660 def __init__(self, checker): argument
661 self._checker = checker
663 def __str__(self): argument
666 def run(self): argument
668 self._checker.check_executable('dexdiag')
669 self._checker.check_executable('dexanalyze')
670 self._checker.check_executable('dexlayout')
671 self._checker.check_symlinked_multilib_executable('imgdiag')
674 self._checker.check_executable('dexlayoutd')
675 self._checker.check_executable('dexoptanalyzerd')
676 self._checker.check_symlinked_multilib_executable('imgdiagd')
677 self._checker.check_executable('profmand')
680 self._checker.check_native_library('libadbconnectiond')
681 self._checker.check_native_library('libart-disassembler')
682 self._checker.check_native_library('libartbased')
683 self._checker.check_native_library('libartd')
684 self._checker.check_native_library('libartd-compiler')
685 self._checker.check_native_library('libartd-dexlayout')
686 self._checker.check_native_library('libartd-disassembler')
687 self._checker.check_native_library('libdexfiled')
688 self._checker.check_native_library('libopenjdkjvmd')
689 self._checker.check_native_library('libopenjdkjvmtid')
690 self._checker.check_native_library('libprofiled')
693 self._checker.check_native_library('libopenjdkd')
697 def __init__(self, checker): argument
698 self._checker = checker
700 def __str__(self): argument
703 def run(self): argument
705 self._checker.check_multilib_executable('dex2oatd')
706 self._checker.check_multilib_executable('dex2oat')
707 self._checker.check_executable('oatdumpd')
710 self._checker.check_native_library('libdexfiled_external')
711 self._checker.check_native_library('libperfetto_hprofd')
725 self._checker.check_optional_native_library('libvixld') # Only on ARM/ARM64
726 self._checker.check_prefer64_library('libmeminfo')
727 self._checker.check_prefer64_library('libprocinfo')
731 def __init__(self, checker): argument
732 self._checker = checker
734 def __str__(self): argument
737 def run(self): argument
739 self._checker.check_art_test_executable('art_cmdline_tests')
740 self._checker.check_art_test_executable('art_compiler_tests')
741 self._checker.check_art_test_executable('art_dex2oat_tests')
742 self._checker.check_art_test_executable('art_dexanalyze_tests')
743 self._checker.check_art_test_executable('art_dexdiag_tests')
744 self._checker.check_art_test_executable('art_dexdump_tests')
745 self._checker.check_art_test_executable('art_dexlayout_tests')
746 self._checker.check_art_test_executable('art_dexlist_tests')
747 self._checker.check_art_test_executable('art_dexoptanalyzer_tests')
748 self._checker.check_art_test_executable('art_imgdiag_tests')
749 self._checker.check_art_test_executable('art_libartbase_tests')
750 self._checker.check_art_test_executable('art_libartpalette_tests')
751 self._checker.check_art_test_executable('art_libdexfile_support_tests')
752 self._checker.check_art_test_executable('art_libdexfile_tests')
753 self._checker.check_art_test_executable('art_libprofile_tests')
754 self._checker.check_art_test_executable('art_oatdump_tests')
755 self._checker.check_art_test_executable('art_profman_tests')
756 self._checker.check_art_test_executable('art_runtime_compiler_tests')
757 self._checker.check_art_test_executable('art_runtime_tests')
758 self._checker.check_art_test_executable('art_sigchain_tests')
761 self._checker.check_native_library('libart-gtest')
762 self._checker.check_native_library('libartd-simulator-container')
765 self._checker.check_executable('signal_dumper')
768 self._checker.check_art_test_data('art-gtest-jars-AbstractMethod.jar')
769 self._checker.check_art_test_data('art-gtest-jars-MyClassNatives.jar')
770 self._checker.check_art_test_data('art-gtest-jars-Main.jar')
771 self._checker.check_art_test_data('art-gtest-jars-ProtoCompare.jar')
772 self._checker.check_art_test_data('art-gtest-jars-Transaction.jar')
773 self._checker.check_art_test_data('art-gtest-jars-VerifierDepsMulti.dex')
774 self._checker.check_art_test_data('art-gtest-jars-Nested.jar')
775 self._checker.check_art_test_data('art-gtest-jars-MyClass.jar')
776 self._checker.check_art_test_data('art-gtest-jars-ManyMethods.jar')
777 self._checker.check_art_test_data('art-gtest-jars-GetMethodSignature.jar')
778 self._checker.check_art_test_data('art-gtest-jars-Lookup.jar')
779 self._checker.check_art_test_data('art-gtest-jars-Instrumentation.jar')
780 self._checker.check_art_test_data('art-gtest-jars-MainUncompressedAligned.jar')
781 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderD.jar')
782 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderC.jar')
783 self._checker.check_art_test_data('art-gtest-jars-ErroneousA.jar')
784 self._checker.check_art_test_data('art-gtest-jars-DexToDexDecompiler.jar')
785 self._checker.check_art_test_data('art-gtest-jars-HiddenApiSignatures.jar')
786 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderB.jar')
787 self._checker.check_art_test_data('art-gtest-jars-LinkageTest.dex')
788 self._checker.check_art_test_data('art-gtest-jars-MethodTypes.jar')
789 self._checker.check_art_test_data('art-gtest-jars-ErroneousInit.jar')
790 self._checker.check_art_test_data('art-gtest-jars-VerifierDeps.dex')
791 self._checker.check_art_test_data('art-gtest-jars-StringLiterals.jar')
792 self._checker.check_art_test_data('art-gtest-jars-XandY.jar')
793 self._checker.check_art_test_data('art-gtest-jars-ExceptionHandle.jar')
794 self._checker.check_art_test_data('art-gtest-jars-ImageLayoutB.jar')
795 self._checker.check_art_test_data('art-gtest-jars-Interfaces.jar')
796 self._checker.check_art_test_data('art-gtest-jars-IMTB.jar')
797 self._checker.check_art_test_data('art-gtest-jars-Extension2.jar')
798 self._checker.check_art_test_data('art-gtest-jars-Extension1.jar')
799 self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressedAligned.jar')
800 self._checker.check_art_test_data('art-gtest-jars-ErroneousB.jar')
801 self._checker.check_art_test_data('art-gtest-jars-MultiDexModifiedSecondary.jar')
802 self._checker.check_art_test_data('art-gtest-jars-NonStaticLeafMethods.jar')
803 self._checker.check_art_test_data('art-gtest-jars-DefaultMethods.jar')
804 self._checker.check_art_test_data('art-gtest-jars-MultiDexUncompressedAligned.jar')
805 self._checker.check_art_test_data('art-gtest-jars-StaticsFromCode.jar')
806 self._checker.check_art_test_data('art-gtest-jars-ProfileTestMultiDex.jar')
807 self._checker.check_art_test_data('art-gtest-jars-VerifySoftFailDuringClinit.dex')
808 self._checker.check_art_test_data('art-gtest-jars-MainStripped.jar')
809 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderA.jar')
810 self._checker.check_art_test_data('art-gtest-jars-StaticLeafMethods.jar')
811 self._checker.check_art_test_data('art-gtest-jars-MultiDex.jar')
812 self._checker.check_art_test_data('art-gtest-jars-Packages.jar')
813 self._checker.check_art_test_data('art-gtest-jars-ProtoCompare2.jar')
814 self._checker.check_art_test_data('art-gtest-jars-Statics.jar')
815 self._checker.check_art_test_data('art-gtest-jars-AllFields.jar')
816 self._checker.check_art_test_data('art-gtest-jars-IMTA.jar')
817 self._checker.check_art_test_data('art-gtest-jars-ImageLayoutA.jar')
818 self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressed.jar')
822 def __init__(self, checker): argument
823 self._checker = checker
825 def __str__(self): argument
828 def run(self): argument
829 self._checker.check_no_superfluous_files('bin')
833 def __init__(self, checker): argument
834 self._checker = checker
836 def __str__(self): argument
839 def run(self): argument
840 self._checker.check_no_superfluous_files('javalib')
841 self._checker.check_no_superfluous_files('lib')
842 self._checker.check_no_superfluous_files('lib64')
846 def __init__(self, checker): argument
847 self._checker = checker
849 def __str__(self): argument
852 def run(self): argument
854 self._checker.check_no_superfluous_files('%s/%s' % (ART_TEST_DIR, arch))
858 def __init__(self, provider, print_size=False): argument
859 self._provider = provider
860 self._print_size = print_size
862 def print_list(self): argument
865 apex_map = self._provider.read_dir(path)
875 if self._print_size:
889 def __init__(self, provider, title, print_size=False): argument
891 self._provider = provider
892 self._has_next_list = []
893 self._print_size = print_size
906 def print_tree(self): argument
909 apex_map = self._provider.read_dir(path)
919 prev = self.get_vertical(self._has_next_list)
920 last = self.get_last_vertical(i == len(key_list) - 1)
922 if self._print_size:
930 self._has_next_list.append(i < len(key_list) - 1)
933 self._has_next_list.pop()