blob: 4f4114c804a8e36023c2f5cef3b3cef1e6fbccbf [file] [log] [blame]
#!/usr/bin/env python
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
import deps2submodules
class Deps2SubmodulesCollateDepsTest(unittest.TestCase):
def testBasic(self):
arg = ({
'src/monkeypatch': 'http://git.chromium.org/monkepatch.git@abc123',
'src/third_party/monkeyfood':
'http://git.chromium.org/monkeyfood@def456',
}, {}) # No OS-specific DEPS.
expected = {
'monkeypatch':
[['all'], 'http://git.chromium.org/monkepatch.git', 'abc123'],
'third_party/monkeyfood':
[['all'], 'http://git.chromium.org/monkeyfood', 'def456'],
}
self.assertEqual(expected, deps2submodules.CollateDeps(arg))
def testSrcPrefixStrip(self):
arg = ({
'src/in_src': 'http://git.chromium.org/src.git@f00bad',
'not_in_src/foo': 'http://other.git.something/main.git@123456',
}, {}) # No OS-specific DEPS.
expected = {
'in_src': [['all'], 'http://git.chromium.org/src.git', 'f00bad'],
'not_in_src/foo':
[['all'], 'http://other.git.something/main.git', '123456'],
}
self.assertEqual(expected, deps2submodules.CollateDeps(arg))
def testOSDeps(self):
arg = ({
'src/hotp': 'http://hmac.org/hotp.git@7fffffff',
}, {
'linux': {
'src/third_party/selinux': 'http://kernel.org/selinux.git@abc123',
'src/multios': 'http://git.chromium.org/multi.git@000005',
},
'mac': {
'src/third_party/security':
'http://opensource.apple.com/security.git@def456',
},
'win': {
'src/multios': 'http://git.chromium.org/multi.git@000005',
},
})
expected = {
'hotp': [['all'], 'http://hmac.org/hotp.git', '7fffffff'],
'third_party/selinux':
[['linux'], 'http://kernel.org/selinux.git', 'abc123'],
'third_party/security':
[['mac'], 'http://opensource.apple.com/security.git', 'def456'],
'multios':
[['win', 'linux'], 'http://git.chromium.org/multi.git', '000005'],
}
self.assertEqual(expected, deps2submodules.CollateDeps(arg))
def testOSDepsWithNone(self):
arg = ({
'src/skia': 'http://git.chromium.org/skia.git@abc123',
'src/aura': 'http://git.chromium.org/aura.git',
}, {
'ios': {
'src/skia': None,
'src/apple': 'http://git.chromium.org/apple.git@def456',
}
})
expected = {
'skia': [['all'], 'http://git.chromium.org/skia.git', 'abc123'],
'aura': [['all'], 'http://git.chromium.org/aura.git', ''],
'apple': [['ios'], 'http://git.chromium.org/apple.git', 'def456'],
}
self.assertEqual(expected, deps2submodules.CollateDeps(arg))
if __name__ == '__main__':
unittest.main()