From 95ab954fdb060c2084bfc897172ff78e3e51334a Mon Sep 17 00:00:00 2001 From: Evan Jones Date: Wed, 4 Jan 2012 14:58:42 -0500 Subject: ninja_syntax.py: Fix a bug when passing variables to Writer.build() Add a test to cover this case. --- misc/ninja_syntax.py | 2 +- misc/ninja_test.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/misc/ninja_syntax.py b/misc/ninja_syntax.py index b73a002..8f3e309 100644 --- a/misc/ninja_syntax.py +++ b/misc/ninja_syntax.py @@ -66,7 +66,7 @@ class Writer(object): ' '.join(all_inputs))) if variables: - for key, val in variables: + for key, val in variables.iteritems(): self.variable(key, val, indent=1) return outputs diff --git a/misc/ninja_test.py b/misc/ninja_test.py index 65dbec6..7059ae7 100755 --- a/misc/ninja_test.py +++ b/misc/ninja_test.py @@ -111,5 +111,18 @@ foo = a$$ $ ''', self.out.getvalue()) +class TestBuild(unittest.TestCase): + def setUp(self): + self.out = StringIO() + self.n = ninja_syntax.Writer(self.out) + + def test_variables(self): + self.n.build('out', 'cc', 'in', variables={'name': 'value'}) + self.assertEqual('''\ +build out: cc in + name = value +''', + self.out.getvalue()) + if __name__ == '__main__': unittest.main() -- cgit v0.12