mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 14:41:31 +02:00
loman: Only add a project to local_manifest.xml if not in manifest.xml
Otherwise, repo gets upset BUG=none TEST=Unit tests pass. Change-Id: If1af601f96f27e37259898041e1ac715f6df6d30 Reviewed-on: http://gerrit.chromium.org/gerrit/734 Reviewed-by: Mandeep Singh Baines <msb@chromium.org> Tested-by: Mandeep Singh Baines <msb@chromium.org>
This commit is contained in:
parent
a29fb20065
commit
e4096d75fd
@ -97,6 +97,9 @@ def main(argv):
|
|||||||
parser.add_option('-f', '--file', dest='local_manifest',
|
parser.add_option('-f', '--file', dest='local_manifest',
|
||||||
default='%s/local_manifest.xml' % repo_dir,
|
default='%s/local_manifest.xml' % repo_dir,
|
||||||
help='Non-default manifest file to read.')
|
help='Non-default manifest file to read.')
|
||||||
|
parser.add_option('-m', '--main', dest='main_manifest',
|
||||||
|
default='%s/manifest.xml' % repo_dir,
|
||||||
|
help='Main manifest file to read.')
|
||||||
parser.add_option('-d', '--default', dest='full_manifest',
|
parser.add_option('-d', '--default', dest='full_manifest',
|
||||||
default='%s/manifests/full.xml' % repo_dir,
|
default='%s/manifests/full.xml' % repo_dir,
|
||||||
help='Default manifest file to read.')
|
help='Default manifest file to read.')
|
||||||
@ -110,8 +113,11 @@ def main(argv):
|
|||||||
name = args[0]
|
name = args[0]
|
||||||
|
|
||||||
local_tree = _ReadManifest(options.local_manifest)
|
local_tree = _ReadManifest(options.local_manifest)
|
||||||
|
main_tree = _ReadManifest(options.main_manifest)
|
||||||
full_tree = _ReadManifest(options.full_manifest)
|
full_tree = _ReadManifest(options.full_manifest)
|
||||||
|
|
||||||
|
# Only add this project to local_manifest.xml if not in manifest.xml
|
||||||
|
if main_tree.GetProject(name) == None:
|
||||||
project_element = full_tree.GetProject(name)
|
project_element = full_tree.GetProject(name)
|
||||||
if project_element == None:
|
if project_element == None:
|
||||||
Die('No project named, %s, in the default manifest.' % name)
|
Die('No project named, %s, in the default manifest.' % name)
|
||||||
|
@ -80,9 +80,13 @@ class MainTest(unittest.TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.utf8 = "<?xml version='1.0' encoding='UTF-8'?>\n"
|
self.utf8 = "<?xml version='1.0' encoding='UTF-8'?>\n"
|
||||||
self.tiny_manifest = '<manifest>\n</manifest>'
|
self.tiny_manifest = self.utf8 + '<manifest>\n</manifest>\n'
|
||||||
self.stderr = sys.stderr
|
self.stderr = sys.stderr
|
||||||
sys.stderr = StringIO.StringIO()
|
sys.stderr = StringIO.StringIO()
|
||||||
|
self.main = tempfile.NamedTemporaryFile('w')
|
||||||
|
print >> self.main, '%s' % self.tiny_manifest
|
||||||
|
self.main.flush()
|
||||||
|
os.fsync(self.main.fileno())
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
sys.stderr = self.stderr
|
sys.stderr = self.stderr
|
||||||
@ -110,10 +114,11 @@ class MainTest(unittest.TestCase):
|
|||||||
default.flush()
|
default.flush()
|
||||||
os.fsync(default.fileno())
|
os.fsync(default.fileno())
|
||||||
temp = tempfile.NamedTemporaryFile('w')
|
temp = tempfile.NamedTemporaryFile('w')
|
||||||
print >> temp, '<manifest>\n</manifest>'
|
print >> temp, '%s' % self.tiny_manifest
|
||||||
temp.flush()
|
temp.flush()
|
||||||
os.fsync(temp.fileno())
|
os.fsync(temp.fileno())
|
||||||
loman.main(['loman', 'add', '--workon', '-f', temp.name,
|
loman.main(['loman', 'add', '--workon', '-f', temp.name,
|
||||||
|
'-m', self.main.name,
|
||||||
'-d', default.name, 'foo'])
|
'-d', default.name, 'foo'])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
open(temp.name, 'r').read(),
|
open(temp.name, 'r').read(),
|
||||||
@ -133,6 +138,7 @@ class MainTest(unittest.TestCase):
|
|||||||
temp.flush()
|
temp.flush()
|
||||||
os.fsync(temp.fileno())
|
os.fsync(temp.fileno())
|
||||||
loman.main(['loman', 'add', '--workon', '-f', temp.name,
|
loman.main(['loman', 'add', '--workon', '-f', temp.name,
|
||||||
|
'-m', self.main.name,
|
||||||
'-d', default.name, 'foo'])
|
'-d', default.name, 'foo'])
|
||||||
|
|
||||||
def testAddDup(self):
|
def testAddDup(self):
|
||||||
@ -150,8 +156,27 @@ class MainTest(unittest.TestCase):
|
|||||||
os.fsync(temp.fileno())
|
os.fsync(temp.fileno())
|
||||||
self.assertRaises(SystemExit, loman.main,
|
self.assertRaises(SystemExit, loman.main,
|
||||||
['loman', 'add', '--workon', '-f', temp.name,
|
['loman', 'add', '--workon', '-f', temp.name,
|
||||||
|
'-m', self.main.name,
|
||||||
'-d', default.name, 'foo'])
|
'-d', default.name, 'foo'])
|
||||||
|
|
||||||
|
def testAddDupInMain(self):
|
||||||
|
default = tempfile.NamedTemporaryFile('w')
|
||||||
|
print >> default, '<manifest>\n' \
|
||||||
|
'<project name="foo" path="path/to/foo" />\n' \
|
||||||
|
'</manifest>\n'
|
||||||
|
default.flush()
|
||||||
|
os.fsync(default.fileno())
|
||||||
|
temp = tempfile.NamedTemporaryFile('w')
|
||||||
|
print >> temp, '%s' % self.tiny_manifest
|
||||||
|
temp.flush()
|
||||||
|
os.fsync(temp.fileno())
|
||||||
|
loman.main(['loman', 'add', '--workon', '-f', temp.name,
|
||||||
|
'-m', default.name,
|
||||||
|
'-d', default.name, 'foo'])
|
||||||
|
self.assertEqual(
|
||||||
|
open(temp.name, 'r').read(),
|
||||||
|
self.tiny_manifest)
|
||||||
|
|
||||||
def testAddNonexistant(self):
|
def testAddNonexistant(self):
|
||||||
default = tempfile.NamedTemporaryFile('w')
|
default = tempfile.NamedTemporaryFile('w')
|
||||||
print >> default, '<manifest>\n' \
|
print >> default, '<manifest>\n' \
|
||||||
@ -165,6 +190,7 @@ class MainTest(unittest.TestCase):
|
|||||||
os.fsync(temp.fileno())
|
os.fsync(temp.fileno())
|
||||||
self.assertRaises(SystemExit, loman.main,
|
self.assertRaises(SystemExit, loman.main,
|
||||||
['loman', 'add', '--workon', '-f', temp.name,
|
['loman', 'add', '--workon', '-f', temp.name,
|
||||||
|
'-m', self.main.name,
|
||||||
'-d', default.name, 'bar'])
|
'-d', default.name, 'bar'])
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user