| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium 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 import os | 5 import os |
| 6 import shutil | 6 import shutil |
| 7 import subprocess | 7 import subprocess |
| 8 import sys | 8 import sys |
| 9 import tempfile | 9 import tempfile |
| 10 import unittest | 10 import unittest |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 | 131 |
| 132 # static nexe should have exactly one needed file | 132 # static nexe should have exactly one needed file |
| 133 self.assertEqual(len(needed), 1) | 133 self.assertEqual(len(needed), 1) |
| 134 self.assertEqual(needed.keys()[0], nexe) | 134 self.assertEqual(needed.keys()[0], nexe) |
| 135 | 135 |
| 136 # arch of needed file should be x86-32 | 136 # arch of needed file should be x86-32 |
| 137 archfile = needed.values()[0] | 137 archfile = needed.values()[0] |
| 138 self.assertEqual(archfile.arch, 'x86-32') | 138 self.assertEqual(archfile.arch, 'x86-32') |
| 139 | 139 |
| 140 def StripDependencies(self, deps): | 140 def StripDependencies(self, deps): |
| 141 """Strip the dirnames and version suffixs from | 141 """Strip the dirnames and version suffixes from |
| 142 a list of nexe dependencies. | 142 a list of nexe dependencies. |
| 143 | 143 |
| 144 e.g: | 144 e.g: |
| 145 /path/to/libpthread.so.1a2d3fsa -> libpthread.so | 145 /path/to/libpthread.so.1a2d3fsa -> libpthread.so |
| 146 """ | 146 """ |
| 147 names = [] | 147 names = [] |
| 148 for name in deps: | 148 for name in deps: |
| 149 name = os.path.basename(name) | 149 name = os.path.basename(name) |
| 150 if '.so.' in name: | 150 if '.so.' in name: |
| 151 name = name.rsplit('.', 1)[0] | 151 name = name.rsplit('.', 1)[0] |
| 152 names.append(name) | 152 names.append(name) |
| 153 return names | 153 return names |
| 154 | 154 |
| 155 def testGetNeededDynamic(self): | 155 def testGetNeededDynamic(self): |
| 156 nmf = self.CreateNmfUtils() | 156 nmf = self.CreateNmfUtils() |
| 157 needed = nmf.GetNeeded() | 157 needed = nmf.GetNeeded() |
| 158 names = needed.keys() | 158 names = needed.keys() |
| 159 | 159 |
| 160 # this nexe has 5 dependancies | 160 # this nexe has 5 dependencies |
| 161 expected = set(self.dyn_deps) | 161 expected = set(self.dyn_deps) |
| 162 expected.add(os.path.basename(self.dyn_nexe)) | 162 expected.add(os.path.basename(self.dyn_nexe)) |
| 163 | 163 |
| 164 basenames = set(self.StripDependencies(names)) | 164 basenames = set(self.StripDependencies(names)) |
| 165 self.assertEqual(expected, basenames) | 165 self.assertEqual(expected, basenames) |
| 166 | 166 |
| 167 def testStageDependencies(self): | 167 def testStageDependencies(self): |
| 168 self.Mktemp() | 168 self.Mktemp() |
| 169 nmf = self.CreateNmfUtils() | 169 nmf = self.CreateNmfUtils() |
| 170 | 170 |
| 171 # Stage dependancies | 171 # Stage dependencies |
| 172 nmf.StageDependencies(self.tempdir) | 172 nmf.StageDependencies(self.tempdir) |
| 173 | 173 |
| 174 # Verify directory contents | 174 # Verify directory contents |
| 175 contents = set(os.listdir(self.tempdir)) | 175 contents = set(os.listdir(self.tempdir)) |
| 176 expectedContents = set((os.path.basename(self.dyn_nexe), 'lib32')) | 176 expectedContents = set((os.path.basename(self.dyn_nexe), 'lib32')) |
| 177 self.assertEqual(contents, expectedContents) | 177 self.assertEqual(contents, expectedContents) |
| 178 | 178 |
| 179 contents = os.listdir(os.path.join(self.tempdir, 'lib32')) | 179 contents = os.listdir(os.path.join(self.tempdir, 'lib32')) |
| 180 contents = self.StripDependencies(contents) | 180 contents = self.StripDependencies(contents) |
| 181 contents = set(contents) | 181 contents = set(contents) |
| 182 expectedContents = self.dyn_deps | 182 expectedContents = self.dyn_deps |
| 183 self.assertEqual(contents, expectedContents) | 183 self.assertEqual(contents, expectedContents) |
| 184 | 184 |
| 185 | 185 |
| 186 if __name__ == '__main__': | 186 if __name__ == '__main__': |
| 187 unittest.main() | 187 unittest.main() |
| OLD | NEW |