OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Tests that a set of symbols are truly pruned from the translator. | 6 """Tests that a set of symbols are truly pruned from the translator. |
7 | 7 |
8 Compares the pruned down "on-device" translator with the "fat" host build | 8 Compares the pruned down "on-device" translator with the "fat" host build |
9 which has not been pruned down. | 9 which has not been pruned down. |
10 """ | 10 """ |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 """ | 133 """ |
134 total = 0 | 134 total = 0 |
135 pruned_list = [ | 135 pruned_list = [ |
136 'LLParser', 'LLLexer', | 136 'LLParser', 'LLLexer', |
137 'MCAsmParser', '::AsmParser', | 137 'MCAsmParser', '::AsmParser', |
138 'ARMAsmParser', 'X86AsmParser', | 138 'ARMAsmParser', 'X86AsmParser', |
139 'ELFAsmParser', 'COFFAsmParser', 'DarwinAsmParser', | 139 'ELFAsmParser', 'COFFAsmParser', 'DarwinAsmParser', |
140 'MCAsmLexer', '::AsmLexer', | 140 'MCAsmLexer', '::AsmLexer', |
141 # Gigantic Asm MatchTable (globbed for all targets), | 141 # Gigantic Asm MatchTable (globbed for all targets), |
142 'MatchTable', | 142 'MatchTable', |
143 'PBQP', | 143 # Pruned out PBQP mostly, except the getCustomPBQPConstraints virtual. |
| 144 'RegAllocPBQP', 'PBQP::RegAlloc', |
144 # Can only check *InstPrinter::print*, not *::getRegisterName(): | 145 # Can only check *InstPrinter::print*, not *::getRegisterName(): |
145 # https://code.google.com/p/nativeclient/issues/detail?id=3326 | 146 # https://code.google.com/p/nativeclient/issues/detail?id=3326 |
146 'ARMInstPrinter::print', 'X86.*InstPrinter::print', | 147 'ARMInstPrinter::print', 'X86.*InstPrinter::print', |
147 # Currently pruned by hacking Triple.h. That covers most things, | 148 # Currently pruned by hacking Triple.h. That covers most things, |
148 # but not all. E.g., container-specific relocation handling. | 149 # but not all. E.g., container-specific relocation handling. |
149 '.*MachObjectWriter', 'TargetLoweringObjectFileMachO', | 150 '.*MachObjectWriter', 'TargetLoweringObjectFileMachO', |
150 'MCMachOStreamer', '.*MCAsmInfoDarwin', | 151 'MCMachOStreamer', '.*MCAsmInfoDarwin', |
151 '.*COFFObjectWriter', 'TargetLoweringObjectFileCOFF', | 152 '.*COFFObjectWriter', 'TargetLoweringObjectFileCOFF', |
152 '.*COFFStreamer', '.*AsmInfoGNUCOFF', | 153 '.*COFFStreamer', '.*AsmInfoGNUCOFF', |
153 # This is not pruned out: 'MCSectionMachO', 'MCSectionCOFF', | 154 # This is not pruned out: 'MCSectionMachO', 'MCSectionCOFF', |
(...skipping 17 matching lines...) Expand all Loading... |
171 if __name__ == '__main__': | 172 if __name__ == '__main__': |
172 if len(sys.argv) != 4: | 173 if len(sys.argv) != 4: |
173 print 'Usage: %s <nm_tool> <unpruned_host_binary> <pruned_target_binary>' | 174 print 'Usage: %s <nm_tool> <unpruned_host_binary> <pruned_target_binary>' |
174 sys.exit(1) | 175 sys.exit(1) |
175 suite = unittest.TestLoader().loadTestsFromTestCase(TestTranslatorPruned) | 176 suite = unittest.TestLoader().loadTestsFromTestCase(TestTranslatorPruned) |
176 result = unittest.TextTestRunner(verbosity=2).run(suite) | 177 result = unittest.TextTestRunner(verbosity=2).run(suite) |
177 if result.wasSuccessful(): | 178 if result.wasSuccessful(): |
178 sys.exit(0) | 179 sys.exit(0) |
179 else: | 180 else: |
180 sys.exit(1) | 181 sys.exit(1) |
OLD | NEW |