Lines Matching refs:self
82 def __init__(self, name, is_dir, is_exec, is_symlink, size): argument
83 self.name = name
84 self.is_dir = is_dir
85 self.is_exec = is_exec
86 self.is_symlink = is_symlink
87 self.size = size
89 def __str__(self): argument
91 % (self.name, self.is_dir, self.is_exec, self.is_symlink, self.size)
93 def type_descr(self): argument
94 if self.is_dir:
96 if self.is_symlink:
102 def __init__(self, apex): argument
103 self._folder_cache = {}
104 self._apex = apex
106 def get(self, path): argument
110 apex_map = self.read_dir(apex_dir)
113 def read_dir(self, apex_dir): argument
114 if apex_dir in self._folder_cache:
115 return self._folder_cache[apex_dir]
117 dirname = os.path.join(self._apex, apex_dir)
130 self._folder_cache[apex_dir] = apex_map
135 def __init__(self, apex, tmpdir): argument
136 self._tmpdir = tmpdir
137 self._folder_cache = {}
138 self._payload = os.path.join(self._tmpdir, 'apex_payload.zip')
143 def __del__(self): argument
145 if os.path.exists(self._payload):
146 os.remove(self._payload)
148 def get(self, path): argument
152 apex_map = self.read_dir(apex_dir)
155 def read_dir(self, apex_dir): argument
156 if apex_dir in self._folder_cache:
157 return self._folder_cache[apex_dir]
158 if not self._folder_cache:
159 self.parse_zip()
160 if apex_dir in self._folder_cache:
161 return self._folder_cache[apex_dir]
164 def parse_zip(self): argument
165 apex_zip = zipfile.ZipFile(self._payload)
185 if apex_dir not in self._folder_cache:
186 self._folder_cache[apex_dir] = {}
187 dir_map = self._folder_cache[apex_dir]
208 def __init__(self, provider): argument
209 self._provider = provider
210 self._errors = 0
211 self._expected_file_globs = set()
213 def fail(self, msg, *fail_args): argument
214 self._errors += 1
217 def error_count(self): argument
218 return self._errors
220 def reset_errors(self): argument
221 self._errors = 0
223 def is_file(self, path): argument
224 fs_object = self._provider.get(path)
233 def is_dir(self, path): argument
234 fs_object = self._provider.get(path)
241 def check_file(self, path): argument
242 ok, msg = self.is_file(path)
244 self.fail(msg, path)
245 self._expected_file_globs.add(path)
248 def check_dir(self, path): argument
249 ok, msg = self.is_dir(path)
251 self.fail(msg, path)
252 self._expected_file_globs.add(path)
255 def check_optional_file(self, path): argument
256 if not self._provider.get(path):
258 return self.check_file(path)
260 def check_executable(self, filename): argument
262 if not self.check_file(path):
264 if not self._provider.get(path).is_exec:
265 self.fail('%s is not executable', path)
267 def check_executable_symlink(self, filename): argument
269 fs_object = self._provider.get(path)
271 self.fail('Could not find %s', path)
274 self.fail('%s is a directory', path)
277 self.fail('%s is not a symlink', path)
278 self._expected_file_globs.add(path)
280 def arch_dirs_for_path(self, path, multilib=None): argument
288 for archs_per_bitness in self.possible_archs_per_bitness(multilib):
292 found, _ = self.is_dir(dir)
298 self.fail('Arch directories missing in %s - expected at least one of %s',
302 def check_art_test_executable(self, filename, multilib=None): argument
303 for dir in self.arch_dirs_for_path(ART_TEST_DIR, multilib):
305 self._expected_file_globs.add(test_path)
306 file_obj = self._provider.get(test_path)
308 self.fail('ART test binary missing: %s', test_path)
310 self.fail('%s is not executable', test_path)
312 def check_art_test_data(self, filename): argument
313 for dir in self.arch_dirs_for_path(ART_TEST_DIR):
314 if not self.check_file('%s/%s' % (dir, filename)):
317 def check_single_library(self, filename): argument
320 lib_is_file, _ = self.is_file(lib_path)
322 self._expected_file_globs.add(lib_path)
323 lib64_is_file, _ = self.is_file(lib64_path)
325 self._expected_file_globs.add(lib64_path)
327 self.fail('Library missing: %s', filename)
329 def check_java_library(self, basename): argument
330 return self.check_file('javalib/%s.jar' % basename)
332 def ignore_path(self, path_glob): argument
333 self._expected_file_globs.add(path_glob)
335 def check_optional_art_test_executable(self, filename): argument
336 for archs_per_bitness in self.possible_archs_per_bitness():
338 self.ignore_path('%s/%s/%s' % (ART_TEST_DIR, arch, filename))
340 def check_no_superfluous_files(self): argument
343 for name, fsobj in sorted(self._provider.read_dir(dir_path).items(), key=lambda p: p[0]):
350 for path_glob in self._expected_file_globs:
353 fs_object = self._provider.get(unexpected_path)
354 self.fail('Unexpected %s: %s', fs_object.type_descr(), unexpected_path)
359 def check_symlinked_multilib_executable(self, filename): argument
363 def check_symlinked_first_executable(self, filename): argument
367 def check_native_library(self, basename): argument
371 def check_optional_native_library(self, basename_glob): argument
375 def check_prefer64_library(self, basename): argument
379 def possible_archs_per_bitness(self, multilib=None): argument
384 def __init__(self, provider): argument
386 self.lib_dirs = ['lib']
388 def check_symlinked_multilib_executable(self, filename): argument
389 self.check_executable('%s32' % filename)
390 self.check_executable_symlink(filename)
392 def check_symlinked_first_executable(self, filename): argument
393 self.check_executable('%s32' % filename)
394 self.check_executable_symlink(filename)
396 def check_native_library(self, basename): argument
399 self.check_file('lib/%s.so' % basename)
401 def check_optional_native_library(self, basename_glob): argument
402 self.ignore_path('lib/%s.so' % basename_glob)
404 def check_prefer64_library(self, basename): argument
405 self.check_native_library(basename)
407 def possible_archs_per_bitness(self, multilib=None): argument
411 def __init__(self, provider): argument
413 self.lib_dirs = ['lib64']
415 def check_symlinked_multilib_executable(self, filename): argument
416 self.check_executable('%s64' % filename)
417 self.check_executable_symlink(filename)
419 def check_symlinked_first_executable(self, filename): argument
420 self.check_executable('%s64' % filename)
421 self.check_executable_symlink(filename)
423 def check_native_library(self, basename): argument
426 self.check_file('lib64/%s.so' % basename)
428 def check_optional_native_library(self, basename_glob): argument
429 self.ignore_path('lib64/%s.so' % basename_glob)
431 def check_prefer64_library(self, basename): argument
432 self.check_native_library(basename)
434 def possible_archs_per_bitness(self, multilib=None): argument
439 def __init__(self, provider): argument
441 self.lib_dirs = ['lib', 'lib64']
443 def check_symlinked_multilib_executable(self, filename): argument
444 self.check_executable('%s32' % filename)
445 self.check_executable('%s64' % filename)
446 self.check_executable_symlink(filename)
448 def check_symlinked_first_executable(self, filename): argument
449 self.check_executable('%s64' % filename)
450 self.check_executable_symlink(filename)
452 def check_native_library(self, basename): argument
455 self.check_file('lib/%s.so' % basename)
456 self.check_file('lib64/%s.so' % basename)
458 def check_optional_native_library(self, basename_glob): argument
459 self.ignore_path('lib/%s.so' % basename_glob)
460 self.ignore_path('lib64/%s.so' % basename_glob)
462 def check_prefer64_library(self, basename): argument
463 self.check_file('lib64/%s.so' % basename)
465 def possible_archs_per_bitness(self, multilib=None): argument
472 self.fail('Unrecognized multilib option "%s"', multilib)
476 def __init__(self, checker): argument
477 self._checker = checker
479 def __str__(self): argument
482 def run(self): argument
484 self._checker.check_dir('bin')
485 self._checker.check_dir('etc')
486 self._checker.check_dir('javalib')
487 for lib_dir in self._checker.lib_dirs:
488 self._checker.check_dir(lib_dir)
489 self._checker.check_file('apex_manifest.pb')
492 self._checker.check_file('etc/boot-image.prof')
493 self._checker.check_dir('etc/classpaths')
494 self._checker.check_file('etc/classpaths/bootclasspath.pb')
495 self._checker.check_file('etc/classpaths/systemserverclasspath.pb')
496 self._checker.check_dir('etc/compatconfig')
497 self._checker.check_file('etc/compatconfig/libcore-platform-compat-config.xml')
498 self._checker.check_file('etc/init.rc')
499 self._checker.check_file('etc/linker.config.pb')
500 self._checker.check_file('etc/sdkinfo.pb')
504 self._checker.check_optional_file('etc/aconfig_flags.pb')
505 self._checker.check_optional_file('etc/flag.map')
506 self._checker.check_optional_file('etc/flag.val')
507 self._checker.check_optional_file('etc/package.map')
510 self._checker.check_executable('dexdump')
511 self._checker.check_executable('dexlist')
512 self._checker.check_executable('dexoptanalyzer')
513 self._checker.check_executable('profman')
514 self._checker.check_symlinked_multilib_executable('dalvikvm')
517 self._checker.check_native_library('libdexfile')
518 self._checker.check_native_library('libnativebridge')
519 self._checker.check_native_library('libnativehelper')
520 self._checker.check_native_library('libnativeloader')
523 self._checker.check_native_library('libadbconnection')
524 self._checker.check_native_library('libart')
525 self._checker.check_native_library('libart-disassembler')
526 self._checker.check_native_library('libartbase')
527 self._checker.check_native_library('libartpalette')
528 self._checker.check_native_library('libarttools')
529 self._checker.check_native_library('libdt_fd_forward')
530 self._checker.check_native_library('libopenjdkjvm')
531 self._checker.check_native_library('libopenjdkjvmti')
532 self._checker.check_native_library('libprofile')
533 self._checker.check_native_library('libsigchain')
536 self._checker.check_java_library('apache-xml')
537 self._checker.check_java_library('bouncycastle')
538 self._checker.check_java_library('core-libart')
539 self._checker.check_java_library('core-oj')
540 self._checker.check_java_library('okhttp')
543 self._checker.check_java_library('jacocoagent')
546 self._checker.check_native_library('libjavacore')
547 self._checker.check_native_library('libopenjdk')
560 self._checker.check_native_library('libbase')
561 self._checker.check_native_library('libc++')
562 self._checker.check_native_library('libdt_socket')
563 self._checker.check_native_library('libjdwp')
564 self._checker.check_native_library('liblz4')
565 self._checker.check_native_library('liblzma')
566 self._checker.check_native_library('libnpt')
567 self._checker.check_native_library('libunwindstack')
570 self._checker.check_optional_native_library('libclang_rt.asan*')
571 self._checker.check_optional_native_library('libclang_rt.hwasan*')
572 self._checker.check_optional_native_library('libclang_rt.ubsan*')
576 def __init__(self, checker): argument
577 self._checker = checker
579 def __str__(self): argument
582 def run(self): argument
589 self._checker.check_executable('art_boot')
590 self._checker.check_executable('art_exec')
591 self._checker.check_executable('artd')
592 self._checker.check_executable('dexopt_chroot_setup')
593 self._checker.check_executable('oatdump')
594 self._checker.check_executable('odrefresh')
595 self._checker.check_symlinked_multilib_executable('dex2oat')
598 self._checker.check_native_library('libartservice')
599 self._checker.check_native_library('libperfetto_hprof')
602 self._checker.check_java_library('service-art')
603 self._checker.check_file('javalib/service-art.jar.prof')
606 self._checker.check_native_library('libandroidio')
609 self._checker.check_native_library('libexpat')
613 def __init__(self, checker): argument
614 self._checker = checker
616 def __str__(self): argument
619 def run(self): argument
621 self._checker.check_executable('hprof-conv')
622 self._checker.check_symlinked_first_executable('dex2oatd')
623 self._checker.check_symlinked_first_executable('dex2oat')
626 self._checker.check_native_library('libicu')
627 self._checker.check_native_library('libandroidio')
630 self._checker.check_native_library('libexpat-host')
631 self._checker.check_native_library('libz-host')
635 def __init__(self, checker): argument
636 self._checker = checker
638 def __str__(self): argument
641 def run(self): argument
643 self._checker.check_executable('dexanalyze')
644 self._checker.check_symlinked_multilib_executable('imgdiag')
647 self._checker.check_executable('dexoptanalyzerd')
648 self._checker.check_symlinked_multilib_executable('imgdiagd')
649 self._checker.check_executable('profmand')
652 self._checker.check_native_library('libdexfiled')
655 self._checker.check_native_library('libadbconnectiond')
656 self._checker.check_native_library('libartbased')
657 self._checker.check_native_library('libartd')
658 self._checker.check_native_library('libartd-disassembler')
659 self._checker.check_native_library('libopenjdkjvmd')
660 self._checker.check_native_library('libopenjdkjvmtid')
661 self._checker.check_native_library('libprofiled')
664 self._checker.check_native_library('libopenjdkd')
668 def __init__(self, checker): argument
669 self._checker = checker
671 def __str__(self): argument
674 def run(self): argument
676 self._checker.check_executable('oatdumpd')
677 self._checker.check_symlinked_multilib_executable('dex2oatd')
680 self._checker.check_native_library('libartserviced')
681 self._checker.check_native_library('libperfetto_hprofd')
700 def __init__(self, checker): argument
701 self._checker = checker
703 def __str__(self): argument
706 def run(self): argument
708 self._checker.check_dir(ART_TEST_DIR)
709 for arch_dir in self._checker.arch_dirs_for_path(ART_TEST_DIR):
710 self._checker.check_dir(arch_dir)
713 self._checker.check_art_test_executable('art_artd_tests')
714 self._checker.check_art_test_executable('art_cmdline_tests')
715 self._checker.check_art_test_executable('art_compiler_tests')
716 self._checker.check_art_test_executable('art_dex2oat_tests')
717 self._checker.check_art_test_executable('art_dexanalyze_tests')
718 self._checker.check_art_test_executable('art_dexdump_tests')
719 self._checker.check_art_test_executable('art_dexlist_tests')
720 self._checker.check_art_test_executable('art_dexoptanalyzer_tests')
721 self._checker.check_art_test_executable('art_disassembler_tests')
722 self._checker.check_art_test_executable('art_imgdiag_tests')
723 self._checker.check_art_test_executable('art_libartbase_tests')
724 self._checker.check_art_test_executable('art_libartpalette_tests')
725 self._checker.check_art_test_executable('art_libartservice_tests')
726 self._checker.check_art_test_executable('art_libarttools_tests')
727 self._checker.check_art_test_executable('art_libdexfile_support_tests')
728 self._checker.check_art_test_executable('art_libdexfile_tests')
729 self._checker.check_art_test_executable('art_libprofile_tests')
730 self._checker.check_art_test_executable('art_oatdump_tests')
731 self._checker.check_art_test_executable('art_odrefresh_tests')
732 self._checker.check_art_test_executable('art_profman_tests')
733 self._checker.check_art_test_executable('art_runtime_tests')
734 self._checker.check_art_test_executable('art_sigchain_tests')
737 self._checker.check_executable('signal_dumper')
740 self._checker.check_art_test_data('art-gtest-jars-AbstractMethod.jar')
741 self._checker.check_art_test_data('art-gtest-jars-ArrayClassWithUnresolvedComponent.dex')
742 self._checker.check_art_test_data('art-gtest-jars-MyClassNatives.jar')
743 self._checker.check_art_test_data('art-gtest-jars-Main.jar')
744 self._checker.check_art_test_data('art-gtest-jars-ProtoCompare.jar')
745 self._checker.check_art_test_data('art-gtest-jars-Transaction.jar')
746 self._checker.check_art_test_data('art-gtest-jars-VerifierDepsMulti.dex')
747 self._checker.check_art_test_data('art-gtest-jars-Nested.jar')
748 self._checker.check_art_test_data('art-gtest-jars-MyClass.jar')
749 self._checker.check_art_test_data('art-gtest-jars-ManyMethods.jar')
750 self._checker.check_art_test_data('art-gtest-jars-GetMethodSignature.jar')
751 self._checker.check_art_test_data('art-gtest-jars-Lookup.jar')
752 self._checker.check_art_test_data('art-gtest-jars-Instrumentation.jar')
753 self._checker.check_art_test_data('art-gtest-jars-MainUncompressedAligned.jar')
754 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderD.jar')
755 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderC.jar')
756 self._checker.check_art_test_data('art-gtest-jars-ErroneousA.jar')
757 self._checker.check_art_test_data('art-gtest-jars-HiddenApiSignatures.jar')
758 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderB.jar')
759 self._checker.check_art_test_data('art-gtest-jars-LinkageTest.dex')
760 self._checker.check_art_test_data('art-gtest-jars-MethodTypes.jar')
761 self._checker.check_art_test_data('art-gtest-jars-ErroneousInit.jar')
762 self._checker.check_art_test_data('art-gtest-jars-VerifierDeps.dex')
763 self._checker.check_art_test_data('art-gtest-jars-StringLiterals.jar')
764 self._checker.check_art_test_data('art-gtest-jars-XandY.jar')
765 self._checker.check_art_test_data('art-gtest-jars-ExceptionHandle.jar')
766 self._checker.check_art_test_data('art-gtest-jars-ImageLayoutB.jar')
767 self._checker.check_art_test_data('art-gtest-jars-Interfaces.jar')
768 self._checker.check_art_test_data('art-gtest-jars-IMTB.jar')
769 self._checker.check_art_test_data('art-gtest-jars-Extension2.jar')
770 self._checker.check_art_test_data('art-gtest-jars-Extension1.jar')
771 self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressedAligned.jar')
772 self._checker.check_art_test_data('art-gtest-jars-ErroneousB.jar')
773 self._checker.check_art_test_data('art-gtest-jars-MultiDexModifiedSecondary.jar')
774 self._checker.check_art_test_data('art-gtest-jars-NonStaticLeafMethods.jar')
775 self._checker.check_art_test_data('art-gtest-jars-DefaultMethods.jar')
776 self._checker.check_art_test_data('art-gtest-jars-MultiDexUncompressedAligned.jar')
777 self._checker.check_art_test_data('art-gtest-jars-StaticsFromCode.jar')
778 self._checker.check_art_test_data('art-gtest-jars-ProfileTestMultiDex.jar')
779 self._checker.check_art_test_data('art-gtest-jars-VerifySoftFailDuringClinit.dex')
780 self._checker.check_art_test_data('art-gtest-jars-MainStripped.jar')
781 self._checker.check_art_test_data('art-gtest-jars-ForClassLoaderA.jar')
782 self._checker.check_art_test_data('art-gtest-jars-StaticLeafMethods.jar')
783 self._checker.check_art_test_data('art-gtest-jars-MultiDex.jar')
784 self._checker.check_art_test_data('art-gtest-jars-Packages.jar')
785 self._checker.check_art_test_data('art-gtest-jars-ProtoCompare2.jar')
786 self._checker.check_art_test_data('art-gtest-jars-Statics.jar')
787 self._checker.check_art_test_data('art-gtest-jars-AllFields.jar')
788 self._checker.check_art_test_data('art-gtest-jars-IMTA.jar')
789 self._checker.check_art_test_data('art-gtest-jars-ImageLayoutA.jar')
790 self._checker.check_art_test_data('art-gtest-jars-MainEmptyUncompressed.jar')
791 self._checker.check_art_test_data('art-gtest-jars-Dex2oatVdexTestDex.jar')
792 self._checker.check_art_test_data('art-gtest-jars-Dex2oatVdexPublicSdkDex.dex')
793 self._checker.check_art_test_data('art-gtest-jars-SuperWithAccessChecks.dex')
796 self._checker.check_art_test_data('fuzzer_corpus.zip')
800 def __init__(self, checker): argument
801 self._checker = checker
803 def __str__(self): argument
806 def run(self): argument
807 self._checker.check_no_superfluous_files()
811 def __init__(self, provider, print_size=False): argument
812 self._provider = provider
813 self._print_size = print_size
815 def print_list(self): argument
818 apex_map = self._provider.read_dir(path)
828 if self._print_size:
842 def __init__(self, provider, title, print_size=False): argument
844 self._provider = provider
845 self._has_next_list = []
846 self._print_size = print_size
859 def print_tree(self): argument
862 apex_map = self._provider.read_dir(path)
872 prev = self.get_vertical(self._has_next_list)
873 last = self.get_last_vertical(i == len(key_list) - 1)
875 if self._print_size:
883 self._has_next_list.append(i < len(key_list) - 1)
886 self._has_next_list.pop()