From a2bfc43f503a2ffb4b3afb6feab7f73e6be518aa Mon Sep 17 00:00:00 2001 From: Greg Ward Date: Sat, 17 Mar 2012 15:54:15 -0400 Subject: Fix issue #2825: allow Node objects in Java path options. --- src/engine/SCons/Tool/javac.py | 2 +- src/engine/SCons/Tool/javacTests.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/engine/SCons/Tool/javac.py b/src/engine/SCons/Tool/javac.py index fb6cc41..20d7a94 100644 --- a/src/engine/SCons/Tool/javac.py +++ b/src/engine/SCons/Tool/javac.py @@ -152,7 +152,7 @@ class pathopt(object): if self.default: path = path + [ env[self.default] ] if path: - return [self.opt, os.pathsep.join(path)] + return [self.opt, os.pathsep.join(map(str, path))] #return self.opt + " " + os.pathsep.join(path) else: return [] diff --git a/src/engine/SCons/Tool/javacTests.py b/src/engine/SCons/Tool/javacTests.py index f5b46bd..0335437 100644 --- a/src/engine/SCons/Tool/javacTests.py +++ b/src/engine/SCons/Tool/javacTests.py @@ -26,6 +26,13 @@ import unittest import SCons.Tool.javac +class DummyNode(object): + def __init__(self, val): + self.val = val + + def __str__(self): + return str(self.val) + class pathoptTestCase(unittest.TestCase): def assert_pathopt(self, expect, path): popt = SCons.Tool.javac.pathopt('-foopath', 'FOOPATH') @@ -54,6 +61,14 @@ class pathoptTestCase(unittest.TestCase): finally: os.pathsep = save + def test_node(self): + self.assert_pathopt(['-foopath', '/foo'], + DummyNode('/foo')) + + def test_list_node(self): + self.assert_pathopt(['-foopath', '/foo:/bar'], + ['/foo', DummyNode('/bar')]) + def test_default(self): popt = SCons.Tool.javac.pathopt('-foopath', 'FOOPATH', default='DPATH') env = {'FOOPATH': ['/foo', '/bar'], -- cgit v0.12