Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: native_client_sdk/src/tools/tests/create_nmf_test.py

Issue 890033003: Revert of [NaCl SDK] Remove create_nmf dependency on NACL_SDK_ROOT env var (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « native_client_sdk/src/tools/create_nmf.py ('k') | ppapi/ppapi_nacl.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 json 5 import json
6 import os 6 import os
7 import posixpath 7 import posixpath
8 import shutil 8 import shutil
9 import subprocess 9 import subprocess
10 import sys 10 import sys
11 import tempfile 11 import tempfile
12 import unittest 12 import unittest
13 13
14 SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) 14 SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
15 TOOLS_DIR = os.path.dirname(SCRIPT_DIR) 15 TOOLS_DIR = os.path.dirname(SCRIPT_DIR)
16 DATA_DIR = os.path.join(TOOLS_DIR, 'lib', 'tests', 'data') 16 DATA_DIR = os.path.join(TOOLS_DIR, 'lib', 'tests', 'data')
17 BUILD_TOOLS_DIR = os.path.join(os.path.dirname(TOOLS_DIR), 'build_tools')
18 CHROME_SRC = os.path.dirname(os.path.dirname(os.path.dirname(TOOLS_DIR))) 17 CHROME_SRC = os.path.dirname(os.path.dirname(os.path.dirname(TOOLS_DIR)))
19 MOCK_DIR = os.path.join(CHROME_SRC, 'third_party', 'pymock') 18 MOCK_DIR = os.path.join(CHROME_SRC, 'third_party', 'pymock')
20 19
21 # For the mock library 20 # For the mock library
22 sys.path.append(MOCK_DIR) 21 sys.path.append(MOCK_DIR)
23 sys.path.append(TOOLS_DIR) 22 sys.path.append(TOOLS_DIR)
24 sys.path.append(BUILD_TOOLS_DIR)
25 23
26 import build_paths 24 import build_paths
27 import create_nmf 25 import create_nmf
28 import getos 26 import getos
29 from mock import patch, Mock 27 import mock
30 28
31 TOOLCHAIN_OUT = os.path.join(build_paths.OUT_DIR, 'sdk_tests', 'toolchain') 29 TOOLCHAIN_OUT = os.path.join(build_paths.OUT_DIR, 'sdk_tests', 'toolchain')
32 NACL_X86_GLIBC_TOOLCHAIN = os.path.join(TOOLCHAIN_OUT, 30 NACL_X86_GLIBC_TOOLCHAIN = os.path.join(TOOLCHAIN_OUT,
33 '%s_x86' % getos.GetPlatform(), 31 '%s_x86' % getos.GetPlatform(),
34 'nacl_x86_glibc') 32 'nacl_x86_glibc')
35 33
36 PosixRelPath = create_nmf.PosixRelPath 34 PosixRelPath = create_nmf.PosixRelPath
37 35
38 36
39 def StripSo(name): 37 def StripSo(name):
(...skipping 16 matching lines...) Expand all
56 class TestPosixRelPath(unittest.TestCase): 54 class TestPosixRelPath(unittest.TestCase):
57 def testBasic(self): 55 def testBasic(self):
58 # Note that PosixRelPath only converts from native path format to posix 56 # Note that PosixRelPath only converts from native path format to posix
59 # path format, that's why we have to use os.path.join here. 57 # path format, that's why we have to use os.path.join here.
60 path = os.path.join(os.path.sep, 'foo', 'bar', 'baz.blah') 58 path = os.path.join(os.path.sep, 'foo', 'bar', 'baz.blah')
61 start = os.path.sep + 'foo' 59 start = os.path.sep + 'foo'
62 self.assertEqual(PosixRelPath(path, start), 'bar/baz.blah') 60 self.assertEqual(PosixRelPath(path, start), 'bar/baz.blah')
63 61
64 62
65 class TestDefaultLibpath(unittest.TestCase): 63 class TestDefaultLibpath(unittest.TestCase):
66 def setUp(self): 64 def testWithoutNaClSDKRoot(self):
67 patcher = patch('create_nmf.GetSDKRoot', Mock(return_value='/dummy/path')) 65 """GetDefaultLibPath wihtout NACL_SDK_ROOT set
68 patcher.start()
69 self.addCleanup(patcher.stop)
70 66
71 def testUsesSDKRoot(self): 67 In the absence of NACL_SDK_ROOT GetDefaultLibPath should
72 paths = create_nmf.GetDefaultLibPath('Debug') 68 return the empty list."""
69 with mock.patch.dict('os.environ', clear=True):
70 paths = create_nmf.GetDefaultLibPath('Debug')
71 self.assertEqual(paths, [])
72
73 def testHonorNaClSDKRoot(self):
74 with mock.patch.dict('os.environ', {'NACL_SDK_ROOT': '/dummy/path'}):
75 paths = create_nmf.GetDefaultLibPath('Debug')
73 for path in paths: 76 for path in paths:
74 self.assertTrue(path.startswith('/dummy/path')) 77 self.assertTrue(path.startswith('/dummy/path'))
75 78
76 def testIncludesNaClPorts(self): 79 def testIncludesNaClPorts(self):
77 paths = create_nmf.GetDefaultLibPath('Debug') 80 with mock.patch.dict('os.environ', {'NACL_SDK_ROOT': '/dummy/path'}):
81 paths = create_nmf.GetDefaultLibPath('Debug')
78 self.assertTrue(any(os.path.join('ports', 'lib') in p for p in paths), 82 self.assertTrue(any(os.path.join('ports', 'lib') in p for p in paths),
79 "naclports libpath missing: %s" % str(paths)) 83 "naclports libpath missing: %s" % str(paths))
80 84
81 85
82 class TestNmfUtils(unittest.TestCase): 86 class TestNmfUtils(unittest.TestCase):
83 """Tests for the main NmfUtils class in create_nmf.""" 87 """Tests for the main NmfUtils class in create_nmf."""
84 88
85 def setUp(self): 89 def setUp(self):
86 self.tempdir = None 90 self.tempdir = None
87 self.toolchain = NACL_X86_GLIBC_TOOLCHAIN 91 self.toolchain = NACL_X86_GLIBC_TOOLCHAIN
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 'optlevel': 0, 597 'optlevel': 0,
594 } 598 }
595 } 599 }
596 } 600 }
597 } 601 }
598 self.assertManifestEquals(nmf, expected_manifest) 602 self.assertManifestEquals(nmf, expected_manifest)
599 603
600 604
601 if __name__ == '__main__': 605 if __name__ == '__main__':
602 unittest.main() 606 unittest.main()
OLDNEW
« no previous file with comments | « native_client_sdk/src/tools/create_nmf.py ('k') | ppapi/ppapi_nacl.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698