diff options
Diffstat (limited to 'src/engine/SCons/EnvironmentTests.py')
-rw-r--r-- | src/engine/SCons/EnvironmentTests.py | 105 |
1 files changed, 77 insertions, 28 deletions
diff --git a/src/engine/SCons/EnvironmentTests.py b/src/engine/SCons/EnvironmentTests.py index 49d6ac7..2ad0a32 100644 --- a/src/engine/SCons/EnvironmentTests.py +++ b/src/engine/SCons/EnvironmentTests.py @@ -724,20 +724,58 @@ class EnvironmentTestCase(unittest.TestCase): import UserList UL = UserList.UserList - env1 = Environment(AAA = 'a', BBB = 'b', CCC = 'c', DDD = 'd', - EEE = ['e'], FFF = ['f'], GGG = ['g'], HHH = ['h'], - III = UL(['i']), JJJ = UL(['j']), - KKK = UL(['k']), LLL = UL(['l'])) - env1.Append(BBB = 'B', CCC = ['C'], DDD = UL(['D']), - FFF = 'F', GGG = ['G'], HHH = UL(['H']), - JJJ = 'J', KKK = ['K'], LLL = UL(['L'])) - env2 = Environment(AAA = 'a', BBB = 'bB', - CCC = ['c', 'C'], DDD = UL(['d', 'D']), - EEE = ['e'], FFF = ['f', 'F'], - GGG = ['g', 'G'], HHH = UL(['h', 'H']), - III = UL(['i']), JJJ = UL(['j', 'J']), - KKK = UL(['k', 'K']), LLL = UL(['l', 'L'])) - assert env1 == env2, diff_env(env1, env2) + env1 = Environment(AAA = 'a', + AAA1 = 'a1', AAA2 = 'a2', AAA3 = 'a3', + EEE = ['e'], + EEE1 = ['e1'], EEE2 = ['e2'], EEE3 = ['e3'], + III = UL(['i']), + III1 = UL(['i1']), III2 = UL(['i2']), III3 = UL(['i3']), + MMM = '', + MMM1 = '', MMM2 = '', MMM3 = '', + NNN = [], + NNN1 = [], NNN2 = [], NNN3 = [], + OOO = UL([]), + OOO1 = UL([]), OOO2 = UL([]), OOO3 = UL([]), + PPP = [''], + PPP1 = [''], PPP2 = [''], PPP3 = [''], + QQQ = UL(['']), + QQQ1 = UL(['']), QQQ2 = UL(['']), QQQ3 = UL([''])) + env1.Append(AAA1 = 'A1', AAA2 = ['A2'], AAA3 = UL(['A3']), + EEE1 = 'E1', EEE2 = ['E2'], EEE3 = UL(['E3']), + III1 = 'I1', III2 = ['I2'], III3 = UL(['I3']), + MMM1 = 'M1', MMM2 = ['M2'], MMM3 = UL(['M3']), + NNN1 = 'N1', NNN2 = ['N2'], NNN3 = UL(['N3']), + OOO1 = 'O1', OOO2 = ['O2'], OOO3 = UL(['O3']), + PPP1 = 'P1', PPP2 = ['P2'], PPP3 = UL(['P3']), + QQQ1 = 'Q1', QQQ2 = ['Q2'], QQQ3 = UL(['Q3'])) + assert env1['AAA'] == 'a', env1['AAA'] + assert env1['AAA1'] == 'a1A1', env1['AAA1'] + assert env1['AAA2'] == ['a2', 'A2'], env1['AAA2'] + assert env1['AAA3'] == UL(['a3', 'A3']), env1['AAA3'] + assert env1['EEE'] == ['e'], env1['EEE'] + assert env1['EEE1'] == ['e1', 'E1'], env1['EEE1'] + assert env1['EEE2'] == ['e2', 'E2'], env1['EEE2'] + assert env1['EEE3'] == UL(['e3', 'E3']), env1['EEE3'] + assert env1['III'] == UL(['i']), env1['III'] + assert env1['III1'] == UL(['i1', 'I1']), env1['III1'] + assert env1['III2'] == UL(['i2', 'I2']), env1['III2'] + assert env1['III3'] == UL(['i3', 'I3']), env1['III3'] + assert env1['MMM'] == '', env1['MMM'] + assert env1['MMM1'] == 'M1', env1['MMM1'] + assert env1['MMM2'] == ['M2'], env1['MMM2'] + assert env1['MMM3'] == UL(['M3']), env1['MMM3'] + assert env1['NNN1'] == ['N1'], env1['NNN1'] + assert env1['NNN2'] == ['N2'], env1['NNN2'] + assert env1['NNN3'] == UL(['N3']), env1['NNN3'] + assert env1['OOO1'] == ['O1'], env1['OOO1'] + assert env1['OOO2'] == ['O2'], env1['OOO2'] + assert env1['OOO3'] == UL(['O3']), env1['OOO3'] + assert env1['PPP1'] == ['', 'P1'], env1['PPP1'] + assert env1['PPP2'] == ['', 'P2'], env1['PPP2'] + assert env1['PPP3'] == UL(['', 'P3']), env1['PPP3'] + assert env1['QQQ1'] == UL(['', 'Q1']), env1['QQQ1'] + assert env1['QQQ2'] == UL(['', 'Q2']), env1['QQQ2'] + assert env1['QQQ3'] == UL(['', 'Q3']), env1['QQQ3'] env3 = Environment(X = {'x1' : 7}) env3.Append(X = {'x1' : 8, 'x2' : 9}, Y = {'y1' : 10}) @@ -946,7 +984,11 @@ class EnvironmentTestCase(unittest.TestCase): def test_ParseConfig(self): """Test the ParseConfig() method""" - env = Environment(COMMAND='command') + env = Environment(COMMAND='command', + CPPPATH='string', + LIBPATH=['list'], + LIBS='', + CCFLAGS=['']) save_command = [] orig_popen = os.popen def my_popen(command, save_command=save_command): @@ -961,10 +1003,10 @@ class EnvironmentTestCase(unittest.TestCase): libs = env.ParseConfig("fake $COMMAND") assert save_command == ['fake command'], save_command assert libs == ['abc'], libs - assert env['CPPPATH'] == ['/usr/include/fum', 'bar'], env['CPPPATH'] - assert env['LIBPATH'] == ['/usr/fax', 'foo'], env['LIBPATH'] + assert env['CPPPATH'] == ['string', '/usr/include/fum', 'bar'], env['CPPPATH'] + assert env['LIBPATH'] == ['list', '/usr/fax', 'foo'], env['LIBPATH'] assert env['LIBS'] == ['xxx'], env['LIBS'] - assert env['CCFLAGS'] == ['-X'], env['CCFLAGS'] + assert env['CCFLAGS'] == ['', '-X'], env['CCFLAGS'] finally: os.popen = orig_popen @@ -1723,27 +1765,34 @@ class EnvironmentTestCase(unittest.TestCase): env.fs = MyFS() try: - save = [] - def capture(name, save=save): - save.append(name) + fnames = [] + dbms = [] + def capture(name, dbm_module, fnames=fnames, dbms=dbms): + fnames.append(name) + dbms.append(dbm_module) save_Sig_SConsignFile = SCons.Sig.SConsignFile SCons.Sig.SConsignFile = capture env.SConsignFile('foo') - assert save[0] == os.path.join(os.sep, 'dir', 'foo'), save + assert fnames[0] == os.path.join(os.sep, 'dir', 'foo'), fnames + assert dbms[0] == None, dbms env.SConsignFile('$FOO') - assert save[1] == os.path.join(os.sep, 'dir', 'SConsign'), save + assert fnames[1] == os.path.join(os.sep, 'dir', 'SConsign'), fnames + assert dbms[1] == None, dbms env.SConsignFile('/$FOO') - assert save[2] == '/SConsign', save + assert fnames[2] == '/SConsign', fnames + assert dbms[2] == None, dbms - env.SConsignFile('$BAR') - assert save[3] == os.path.join(os.sep, 'File'), save + env.SConsignFile('$BAR', 'x') + assert fnames[3] == os.path.join(os.sep, 'File'), fnames + assert dbms[3] == 'x', dbms - env.SConsignFile('__$BAR') - assert save[4] == os.path.join(os.sep, 'dir', '__', 'File'), save + env.SConsignFile('__$BAR', 7) + assert fnames[4] == os.path.join(os.sep, 'dir', '__', 'File'), fnames + assert dbms[4] == 7, dbms finally: SCons.Sig.SConsignFile = save_Sig_SConsignFile |