Allows new style config to be used for --flagfile

* includes tests
 * fixes bug 947549

Change-Id: Ibf319ea75a2d6156c5d8f1112cd58a33e5a98fe0
This commit is contained in:
Vishvananda Ishaya 2012-03-05 16:54:57 -08:00
parent 43b52f7bd2
commit 9627c88d68
2 changed files with 11 additions and 2 deletions

View File

@ -97,6 +97,10 @@ def _read_flagfile(arg, next_arg, tempdir=None):
args = _read_lines(flagfile) args = _read_lines(flagfile)
if args and not args[0].startswith('--'):
# This is a config file, not a flagfile, so return it.
return ['--config-file=' + flagfile] + argp[1:]
# #
# We're recursing here to convert any --flagfile arguments # We're recursing here to convert any --flagfile arguments
# read from this flagfile into --config-file arguments # read from this flagfile into --config-file arguments

View File

@ -18,7 +18,6 @@ import contextlib
import os import os
import shutil import shutil
import StringIO import StringIO
import stubout
import textwrap import textwrap
import tempfile import tempfile
import unittest import unittest
@ -150,9 +149,15 @@ class CompatFlagfileTestCase(test.TestCase):
self._do_test_flagfile('--noverbose', 'verbose=false\n') self._do_test_flagfile('--noverbose', 'verbose=false\n')
def test_flagfile_comments(self): def test_flagfile_comments(self):
self._do_test_flagfile('--bar=foo\n#foo\n--foo=bar\n//bar', self._do_test_flagfile(' \n\n#foo\n--bar=foo\n--foo=bar\n//bar',
'bar=foo\nfoo=bar\n') 'bar=foo\nfoo=bar\n')
def test_flagfile_is_config(self):
self.files['foo.flags'] = '\n\n#foo\n//bar\n[DEFAULT]\nbar=foo'
before = ['--flagfile=foo.flags']
after = flagfile.handle_flagfiles(before, tempdir=self.tempdir)
self.assertEquals(after, ['--config-file=foo.flags'])
def test_flagfile_nested(self): def test_flagfile_nested(self):
self.files['bar.flags'] = '--foo=bar' self.files['bar.flags'] = '--foo=bar'