Index: prebuilt_unittest.py |
diff --git a/prebuilt_unittest.py b/prebuilt_unittest.py |
index e485da90b32d6f25143d6608a2c6e6c32e2f912b..29a02faffd39d885b237e98e39fcf4e452960230 100755 |
--- a/prebuilt_unittest.py |
+++ b/prebuilt_unittest.py |
@@ -14,7 +14,9 @@ from chromite.lib import cros_build_lib |
class TestUpdateFile(unittest.TestCase): |
def setUp(self): |
- self.contents_str = ['stage 20100309/stage3-amd64-20100309.tar.bz2', |
+ self.contents_str = ['# comment that should be skipped', |
+ 'PKGDIR="/var/lib/portage/pkgs"', |
+ 'PORTAGE_BINHOST="http://no.thanks.com"', |
'portage portage-20100310.tar.bz2'] |
temp_fd, self.version_file = tempfile.mkstemp() |
os.write(temp_fd, '\n'.join(self.contents_str)) |
@@ -33,29 +35,35 @@ class TestUpdateFile(unittest.TestCase): |
def _verify_key_pair(self, key, val): |
file_contents = self._read_version_file() |
+ # ensure key for verify is wrapped on quotes |
+ if '"' not in val: |
+ val = '"%s"' % val |
for entry in file_contents: |
- file_key, file_val = entry.split() |
+ if '=' not in entry: |
+ continue |
+ file_key, file_val = entry.split('=') |
if file_key == key: |
if val == file_val: |
break |
else: |
- self.fail('Could not find "%s %s" in version file' % (key, val)) |
+ self.fail('Could not find "%s=%s" in version file' % (key, val)) |
def testAddVariableThatDoesNotExist(self): |
"""Add in a new variable that was no present in the file.""" |
- key = 'x86-testcase' |
+ key = 'PORTAGE_BINHOST' |
value = '1234567' |
- prebuilt.UpdateLocalFile(self.version_file, key, value) |
+ prebuilt.UpdateLocalFile(self.version_file, value) |
+ print self.version_file |
current_version_str = self._read_version_file() |
self._verify_key_pair(key, value) |
+ print self.version_file |
def testUpdateVariable(self): |
"""Test updating a variable that already exists.""" |
- # take first entry in contents |
- key, val = self.contents_str[0].split() |
+ key, val = self.contents_str[2].split('=') |
new_val = 'test_update' |
self._verify_key_pair(key, val) |
- prebuilt.UpdateLocalFile(self.version_file, key, new_val) |
+ prebuilt.UpdateLocalFile(self.version_file, new_val) |
self._verify_key_pair(key, new_val) |
@@ -164,7 +172,23 @@ class TestPrebuilt(unittest.TestCase): |
def testFailonUploadFail(self): |
"""Make sure we fail if one of the upload processes fail.""" |
files = {'test': '/uasd'} |
- self.assertEqual(prebuilt.RemoteUpload(files), [('test', '/uasd')]) |
+ self.assertEqual(prebuilt.RemoteUpload(files), set([('test', '/uasd')])) |
+ |
+ def testDetermineMakeConf(self): |
+ """Test the different known variants of boards for proper path discovery.""" |
+ targets = {'amd64': os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64']), |
+ 'x86-generic': os.path.join(prebuilt._BINHOST_BASE_DIR, |
+ 'overlay-x86-generic', 'make.conf'), |
+ 'arm-tegra2_vogue': os.path.join( |
+ prebuilt._BINHOST_BASE_DIR, |
+ 'overlay-variant-arm-tegra2-vogue', 'make.conf'),} |
+ for target in targets: |
+ self.assertEqual(prebuilt.DetermineMakeConfFile(target), targets[target]) |
+ |
+ def testDetermineMakeConfGarbage(self): |
+ """Ensure an exception is raised on bad input.""" |
+ self.assertRaises(prebuilt.UnknownBoardFormat, prebuilt.DetermineMakeConfFile, |
+ 'asdfasdf') |
if __name__ == '__main__': |