def test_define(self): self.assert_('string' not in self.FLAGS) self.assert_('int' not in self.FLAGS) self.assert_('false' not in self.FLAGS) self.assert_('true' not in self.FLAGS) flags.DEFINE_string('string', 'default', 'desc', flag_values=self.FLAGS) flags.DEFINE_integer('int', 1, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('false', False, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('true', True, 'desc', flag_values=self.FLAGS) self.assert_(self.FLAGS['string']) self.assert_(self.FLAGS['int']) self.assert_(self.FLAGS['false']) self.assert_(self.FLAGS['true']) self.assertEqual(self.FLAGS.string, 'default') self.assertEqual(self.FLAGS.int, 1) self.assertEqual(self.FLAGS.false, False) self.assertEqual(self.FLAGS.true, True) argv = [ 'flags_test', '--string', 'foo', '--int', '2', '--false', '--notrue' ] self.FLAGS(argv) self.assertEqual(self.FLAGS.string, 'foo') self.assertEqual(self.FLAGS.int, 2) self.assertEqual(self.FLAGS.false, True) self.assertEqual(self.FLAGS.true, False)
def test_flagfile(self): flags.DEFINE_string('string', 'default', 'desc', flag_values=self.FLAGS) flags.DEFINE_integer('int', 1, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('false', False, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('true', True, 'desc', flag_values=self.FLAGS) (fd, path) = tempfile.mkstemp(prefix='nova', suffix='.flags') try: os.write(fd, '--string=foo\n--int=2\n--false\n--notrue\n') os.close(fd) self.FLAGS(['flags_test', '--flagfile=' + path]) self.assertEqual(self.FLAGS.string, 'foo') self.assertEqual(self.FLAGS.int, 2) self.assertEqual(self.FLAGS.false, True) self.assertEqual(self.FLAGS.true, False) finally: os.remove(path)
def test_templated_values(self): flags.DEFINE_string('foo', 'foo', 'help', flag_values=self.FLAGS) flags.DEFINE_string('bar', 'bar', 'help', flag_values=self.FLAGS) flags.DEFINE_string('blaa', '$foo$bar', 'help', flag_values=self.FLAGS) self.assertEqual(self.FLAGS.blaa, 'foobar')
def test_defaults(self): flags.DEFINE_string('foo', 'bar', 'help', flag_values=self.FLAGS) self.assertEqual(self.FLAGS.foo, 'bar') self.FLAGS['foo'].SetDefault('blaa') self.assertEqual(self.FLAGS.foo, 'blaa')
# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import gflags import os import tempfile import unittest from quantum.common import flags FLAGS = flags.FLAGS flags.DEFINE_string('flags_unittest', 'foo', 'for testing purposes only') class FlagsTestCase(unittest.TestCase): def flags(self, **kw): """Override flag variables for a test.""" for k, v in kw.iteritems(): setattr(FLAGS, k, v) def reset_flags(self): """Resets all flag variables for the test. Runs after each test. """ FLAGS.Reset()