All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EnvConfig.TestEnvOps.Test Class Reference
Inheritance diagram for EnvConfig.TestEnvOps.Test:
Collaboration diagram for EnvConfig.TestEnvOps.Test:

Public Member Functions

def setUp (self)
 
def tearDown (self)
 
def testValues (self)
 
def testHidingDotVar (self)
 
def testWrite (self)
 
def testWriteWithList (self)
 
def testSaveToXML (self)
 
def testSaveToFile (self)
 
def testSearch (self)
 
def testVariables (self)
 
def testDelete (self)
 
def testSystemEnvironment (self)
 
def testDependencies (self)
 
def testInclude (self)
 
def testsVariablesInSearchPath (self)
 
def testFileDir (self)
 
def testDefaults (self)
 
def testVariableManipulations (self)
 

Detailed Description

Definition at line 120 of file TestEnvOps.py.

Member Function Documentation

def EnvConfig.TestEnvOps.Test.setUp (   self)

Definition at line 123 of file TestEnvOps.py.

123  def setUp(self):
124  pass
125 
def EnvConfig.TestEnvOps.Test.tearDown (   self)

Definition at line 126 of file TestEnvOps.py.

126  def tearDown(self):
127  pass
128 
129 
def EnvConfig.TestEnvOps.Test.testDefaults (   self)

Definition at line 603 of file TestEnvOps.py.

603  def testDefaults(self):
604  tmp = TempDir({'env.xml':
605 '''<?xml version="1.0" ?>
606 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
607 <env:default variable="var1">value1</env:default>
608 <env:declare variable="var2" local="true" />
609 <env:default variable="var2">test2</env:default>
610 </env:config>'''})
611 
612  if 'var1' in os.environ:
613  del os.environ['var1']
614  control = Control.Environment()
615  control.loadXML(tmp('env.xml'))
616  self.assertEqual(str(control['var1']), "value1")
617  self.assertEqual(str(control['var2']), "test2")
618 
619  os.environ['var1'] = "some_value"
620  control = Control.Environment()
621  control.loadXML(tmp('env.xml'))
622  self.assertEqual(str(control['var1']), "some_value")
623  self.assertEqual(str(control['var2']), "test2")
624 
625 
def EnvConfig.TestEnvOps.Test.testDelete (   self)

Definition at line 326 of file TestEnvOps.py.

326  def testDelete(self):
327  control = Control.Environment()
328 
329  control.append('MY_PATH','myVal:anotherVal:lastVal')
330  control.remove('MY_PATH','anotherVal')
331 
332  self.assertFalse('anotherVal' in control['MY_PATH'])
333  self.assertTrue('myVal' in control['MY_PATH'])
334  self.assertTrue('lastVal' in control['MY_PATH'])
335 
336  control.set('MY_PATH','myVal:anotherVal:lastVal:else')
337  control.remove('MY_PATH', '^anotherVal$', False)
338  self.assertTrue('anotherVal' in control['MY_PATH'])
339  control.remove('MY_PATH', '^anotherVal$', True)
340  self.assertFalse('anotherVal' in control['MY_PATH'])
341  self.assertTrue('myVal' in control['MY_PATH'])
342  self.assertTrue('lastVal' in control['MY_PATH'])
343  self.assertTrue('lastVal' in control['MY_PATH'])
344  control.remove('MY_PATH', 'Val', True)
345  self.assertTrue('else' in control['MY_PATH'])
346  self.assertTrue(len(control['MY_PATH']) == 1)
347 
348 
349  control.declare('myLoc', 'scalar', False)
350  control.append('myLoc','myVal:anotherVal:lastVal')
351  control.remove('myLoc', 'Val:', True)
352  self.assertTrue(str(control['myLoc']) == 'myanotherlastVal')
353 
354 
def EnvConfig.TestEnvOps.Test.testDependencies (   self)

Definition at line 371 of file TestEnvOps.py.

371  def testDependencies(self):
372  control = Control.Environment()
373 
374  control.declare('myVar', 'list', False)
375 
376  control.declare('loc', 'list', True)
377  control.append('loc','locVal')
378  control.append('loc','locVal2')
379 
380  control.declare('scal', 'scalar', False)
381  control.append('scal','scalVal')
382  control.append('scal','scalVal2')
383 
384  control.declare('scal2', 'scalar', True)
385  control.append('scal2','locScal')
386  control.append('scal2','locScal2')
387 
388  control.set('myVar', 'newValue:$loc:endValue')
389  self.assertEqual(str(control['myVar']),'newValue:locVal:locVal2:endValue')
390 
391  control.set('myVar', 'newValue:$scal:endValue')
392  self.assertEqual(str(control['myVar']),'newValue:scalValscalVal2:endValue')
393 
394  control.set('myVar', 'new${scal}Value:endValue')
395  self.assertEqual(str(control['myVar']),'newscalValscalVal2Value:endValue')
396 
397  control.set('myVar', 'bla:$myVar:Value')
398  self.assertEqual(str(control['myVar']),'bla:newscalValscalVal2Value:endValue:Value')
399 
400  control.set('scal', 'new${scal2}Value')
401  self.assertEqual(str(control['scal']),'newlocScallocScal2Value')
402 
403  control.set('scal', 'new${loc}Value')
404  self.assertEqual(str(control['scal']),'newlocVal:locVal2Value')
405 
406  control.set('scal2', 'new${scal2}Value')
407  self.assertEqual(str(control['scal2']),'newlocScallocScal2Value')
408 
def EnvConfig.TestEnvOps.Test.testFileDir (   self)

Definition at line 580 of file TestEnvOps.py.

580  def testFileDir(self):
581  tmp = TempDir({'env.xml':
582 '''<?xml version="1.0" ?>
583 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
584 <env:set variable="mydirs">${.}</env:set>
585 <env:set variable="myparent">${.}/..</env:set>
586 </env:config>'''})
587 
588  control = Control.Environment()
589  control.loadXML(tmp('env.xml'))
590  self.assertEqual(str(control['mydirs']), tmp())
591  self.assertEqual(str(control['myparent']), os.path.dirname(tmp()))
592 
593  olddir = os.getcwd()
594  os.chdir(tmp())
595  try:
596  control = Control.Environment()
597  control.loadXML('env.xml')
598  self.assertEqual(str(control['mydirs']), tmp())
599  self.assertEqual(str(control['myparent']), os.path.dirname(tmp()))
600  finally:
601  os.chdir(olddir)
602 
def EnvConfig.TestEnvOps.Test.testHidingDotVar (   self)

Definition at line 157 of file TestEnvOps.py.

157  def testHidingDotVar(self):
158  control = Control.Environment()
159  control.variables['.'].set('some/dir')
160 
161  self.assertTrue('.' in control.variables)
162  self.assertTrue('.' not in control.vars())
163  self.assertTrue('.' not in control.vars(strings=False))
164 
165  control.set('MY_DIR', '${.}')
166  self.assertEqual(control.var('MY_DIR').value(True), 'some/dir')
167  self.assertEqual(control.vars()['MY_DIR'], 'some/dir')
168 
169 
170 
def EnvConfig.TestEnvOps.Test.testInclude (   self)

Definition at line 409 of file TestEnvOps.py.

409  def testInclude(self):
410  tmp = TempDir({'first.xml':
411 '''<?xml version="1.0" ?>
412 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
413 <env:set variable="main">first</env:set>
414 <env:append variable="test_path">data1</env:append>
415 <env:include>first_inc.xml</env:include>
416 </env:config>''',
417  'second.xml':
418 '''<?xml version="1.0" ?>
419 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
420 <env:set variable="main">second</env:set>
421 <env:include>second_inc.xml</env:include>
422 <env:append variable="test_path">data1</env:append>
423 </env:config>''',
424  'third.xml':
425 '''<?xml version="1.0" ?>
426 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
427 <env:set variable="main">third</env:set>
428 <env:append variable="test_path">data1</env:append>
429 <env:include>subdir/first_inc.xml</env:include>
430 </env:config>''',
431  'fourth.xml':
432 '''<?xml version="1.0" ?>
433 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
434 <env:set variable="main">fourth</env:set>
435 <env:include hints="subdir2">fourth_inc.xml</env:include>
436 </env:config>''',
437  'recursion.xml':
438 '''<?xml version="1.0" ?>
439 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
440 <env:set variable="main">recursion</env:set>
441 <env:include>recursion.xml</env:include>
442 </env:config>''',
443  'first_inc.xml':
444 '''<?xml version="1.0" ?>
445 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
446 <env:append variable="test_path">data2</env:append>
447 <env:append variable="derived">another_${main}</env:append>
448 </env:config>''',
449  'subdir': {'second_inc.xml':
450 '''<?xml version="1.0" ?>
451 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
452 <env:append variable="test_path">data0</env:append>
453 <env:set variable="map">this_is_second_inc</env:set>
454 </env:config>''',
455  'first_inc.xml':
456 '''<?xml version="1.0" ?>
457 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
458 <env:append variable="derived">second_${main}</env:append>
459 </env:config>''',
460  'fourth_inc.xml':
461 '''<?xml version="1.0" ?>
462 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
463 <env:append variable="included">from subdir</env:append>
464 </env:config>''',},
465  'subdir2': {'fourth_inc.xml':
466 '''<?xml version="1.0" ?>
467 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
468 <env:append variable="included">from subdir2</env:append>
469 </env:config>''',}})
470 
471  # set the basic search path to the minimal default
472  if 'ENVXMLPATH' in os.environ:
473  del os.environ['ENVXMLPATH']
474  import EnvConfig
475  saved_path = list(EnvConfig.path)
476  EnvConfig.path[:] = ['.']
477 
478  control = Control.Environment(searchPath=[])
479 
480  #self.assertRaises(OSError, control.loadXML, tmp('first.xml'))
481  control.loadXML(tmp('first.xml'))
482  self.assertEqual(str(control['main']), 'first')
483  self.assertEqual(str(control['test_path']), 'data1:data2')
484  self.assertEqual(str(control['derived']), 'another_first')
485 
486  control = Control.Environment(searchPath=[tmp()])
487  control.loadXML(tmp('first.xml'))
488  self.assertEqual(str(control['main']), 'first')
489  self.assertEqual(str(control['test_path']), 'data1:data2')
490  self.assertEqual(str(control['derived']), 'another_first')
491 
492  control = Control.Environment(searchPath=[tmp()])
493  control.loadXML('first.xml')
494  self.assertEqual(str(control['main']), 'first')
495  self.assertEqual(str(control['test_path']), 'data1:data2')
496  self.assertEqual(str(control['derived']), 'another_first')
497 
498  control = Control.Environment(searchPath=[tmp()])
499  self.assertRaises(OSError, control.loadXML, tmp('second.xml'))
500 
501  control = Control.Environment(searchPath=[tmp(), tmp('subdir')])
502  control.loadXML(tmp('second.xml'))
503  self.assertEqual(str(control['main']), 'second')
504  self.assertEqual(str(control['test_path']), 'data0:data1')
505  self.assertEqual(str(control['map']), 'this_is_second_inc')
506 
507  control = Control.Environment(searchPath=[tmp(), tmp('subdir')])
508  control.loadXML(tmp('first.xml'))
509  self.assertEqual(str(control['main']), 'first')
510  self.assertEqual(str(control['test_path']), 'data1:data2')
511  self.assertEqual(str(control['derived']), 'another_first')
512 
513  control = Control.Environment(searchPath=[tmp('subdir'), tmp()])
514  control.loadXML(tmp('first.xml'))
515  self.assertEqual(str(control['main']), 'first')
516  self.assertEqual(str(control['test_path']), 'data1:data2')
517  self.assertEqual(str(control['derived']), 'another_first')
518 
519  control = Control.Environment(searchPath=[tmp('subdir'), tmp()])
520  control.loadXML('first.xml')
521  self.assertEqual(str(control['main']), 'first')
522  self.assertEqual(str(control['test_path']), 'data1:data2')
523  self.assertEqual(str(control['derived']), 'another_first')
524 
525  #os.environ['ENVXMLPATH'] = os.pathsep.join([tmp(), tmp('subdir')])
526  EnvConfig.path[:] = ['.', tmp(), tmp('subdir')]
527  control = Control.Environment(searchPath=[])
528  control.loadXML(tmp('second.xml'))
529  self.assertEqual(str(control['main']), 'second')
530  self.assertEqual(str(control['test_path']), 'data0:data1')
531  self.assertEqual(str(control['map']), 'this_is_second_inc')
532  #del os.environ['ENVXMLPATH']
533  EnvConfig.path[:] = ['.']
534 
535  control = Control.Environment(searchPath=[])
536  control.loadXML(tmp('third.xml'))
537  self.assertEqual(str(control['main']), 'third')
538  self.assertEqual(str(control['test_path']), 'data1')
539  self.assertEqual(str(control['derived']), 'second_third')
540 
541  control = Control.Environment(searchPath=[tmp('subdir')])
542  control.loadXML(tmp('fourth.xml'))
543  self.assertEqual(str(control['main']), 'fourth')
544  self.assertEqual(str(control['included']), 'from subdir')
545 
546  control = Control.Environment(searchPath=[])
547  control.loadXML(tmp('fourth.xml'))
548  self.assertEqual(str(control['main']), 'fourth')
549  self.assertEqual(str(control['included']), 'from subdir2')
550 
551  control = Control.Environment(searchPath=[])
552  #self.assertRaises(OSError, control.loadXML, tmp('first.xml'))
553  control.loadXML(tmp('recursion.xml'))
554 
555  # restore search path
556  EnvConfig.path = saved_path
557 
def EnvConfig.TestEnvOps.Test.testSaveToFile (   self)
Test addition of variable to system

Definition at line 243 of file TestEnvOps.py.

243  def testSaveToFile(self):
244  '''Test addition of variable to system'''
245  control = Control.Environment()
246 
247  control.append('sysVar', 'newValue:lala')
248  control.writeToFile('setupFile.txt')
249 
250  with open('setupFile.txt', "r") as f:
251  f.readline()
252  stri = f.readline()
253  f.close()
254 
255  self.assertEqual(stri, 'export sysVar=newValue:lala\n')
256 
257  os.remove('setupFile.txt')
258 
def EnvConfig.TestEnvOps.Test.testSaveToXML (   self)
XML file write and load test

Definition at line 219 of file TestEnvOps.py.

219  def testSaveToXML(self):
220  """XML file write and load test"""
221  control = Control.Environment()
222 
223  control.unset('MY_PATH')
224  control.set('MY_PATH', 'set:toDelete')
225  control.append('MY_PATH', 'appended:toDelete')
226  control.prepend('MY_PATH', 'prepended:toDelete')
227  control.remove('MY_PATH', 'toDelete')
228  control.writeToXMLFile('testOutputFile.xml')
229 
230  control = Control.Environment()
231  self.assertFalse('MY_PATH' in control.vars())
232  control.loadXML('testOutputFile.xml')
233 
234  self.assertTrue('MY_PATH' in control.vars())
235  var = control.var('MY_PATH')
236  self.assertTrue(var[0] == 'prepended')
237  self.assertTrue(var[1] == 'set')
238  self.assertTrue(var[2] == 'appended')
239  self.assertFalse('toDelete' in var)
240 
241  os.remove('testOutputFile.xml')
242 
def EnvConfig.TestEnvOps.Test.testSearch (   self)
Testing searching in variables

Definition at line 259 of file TestEnvOps.py.

259  def testSearch(self):
260  '''Testing searching in variables'''
261  control = Control.Environment()
262 
263  control.append('MY_PATH', 'newValue:mess:something new:aaaabbcc')
264 
265  def count(val, regExp = False):
266  return len(control.search('MY_PATH', val, regExp))
267 
268  self.assertEqual(count('new'), 0)
269  self.assertEqual(count('newValue'), 1)
270 
271  self.assertEqual(count('me', False), 0)
272  self.assertEqual(count('me', True), 2)
273 
274  self.assertEqual(count('cc', False), 0)
275  self.assertEqual(count('cc', True), 1)
276 
277  self.assertEqual(count('a{2}b{2}c{2}', True), 1)
278  self.assertEqual(count('a{2}b{2}', True), 1)
279  self.assertEqual(count('a{1}b{2}c{2}', True), 1)
280  self.assertEqual(count('a{1}b{1}c{2}', True), 0)
281  self.assertEqual(count('a{1,2}b{1,2}c{2}', True), 1)
282  self.assertEqual(count('a{2,3}', True), 1)
283  self.assertEqual(count('a{2,3}?', True), 1)
284 
def EnvConfig.TestEnvOps.Test.testsVariablesInSearchPath (   self)

Definition at line 558 of file TestEnvOps.py.

559  with TemporaryDir(chdir=True) as tmp:
560  with open('EntryPoint.xenv', 'w') as f:
561  f.write('''<?xml version="1.0" ?>
562 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">'
563 <env:default variable="INCLUDED_FILE_PATH">${.}/subdir</env:default>
564 <env:search_path>${INCLUDED_FILE_PATH}</env:search_path>
565 <env:include>Included.xenv</env:include>
566 </env:config>''')
567  os.makedirs('subdir')
568  with open('subdir/Included.xenv', 'w') as f:
569  f.write('''<?xml version="1.0" ?>
570 <env:config xmlns:env="EnvSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="EnvSchema ./EnvSchema.xsd ">
571 <env:set variable="INCLUDED_FILE">OK</env:set>
572 </env:config>''')
573 
574  control = Control.Environment(searchPath=[])
575  control.loadXML('EntryPoint.xenv')
576 
577  self.assertEqual(str(control['INCLUDED_FILE_PATH']), os.path.join(tmp, 'subdir'))
578  self.assertEqual(str(control['INCLUDED_FILE']), 'OK')
579 
def testsVariablesInSearchPath(self)
Definition: TestEnvOps.py:558
def EnvConfig.TestEnvOps.Test.testSystemEnvironment (   self)

Definition at line 355 of file TestEnvOps.py.

356  control = Control.Environment()
357 
358  os.environ['MY_PATH'] = '$myVal'
359  os.environ['myScal'] = '$myVal'
360 
361  control.set('ABC','anyValue')
362  control.declare('MY_PATH', 'list', False)
363  control.append('MY_PATH','$ABC')
364  self.assertTrue(control['MY_PATH'].value(True) == '$myVal:anyValue')
365 
366  control.declare('myScal', 'scalar', False)
367  control.append('myScal', '$ABC')
368  self.assertTrue(control['myScal'].value(True) == '$myValanyValue')
369 
370 
def testSystemEnvironment(self)
Definition: TestEnvOps.py:355
def EnvConfig.TestEnvOps.Test.testValues (   self)
Test of value appending, prepending, setting, unsetting, removing

Definition at line 130 of file TestEnvOps.py.

130  def testValues(self):
131  '''Test of value appending, prepending, setting, unsetting, removing'''
132  control = Control.Environment()
133 
134  self.assertFalse('MY_PATH' in control.vars())
135  control.append('MY_PATH', 'newValue')
136  self.assertTrue('MY_PATH' in control.vars())
137  var = control.var('MY_PATH')
138 
139  control.append('MY_PATH', 'newValue:secondVal:valval')
140  self.assertTrue(var[len(var)-1] == 'valval')
141 
142  self.assertTrue('newValue' in var)
143  control.remove('MY_PATH', 'newValue')
144  self.assertFalse('newValue' in var)
145 
146  control.prepend('MY_PATH', 'newValue')
147  self.assertTrue('newValue' == var[0])
148 
149  control.set('MY_PATH', 'hi:hello')
150  self.assertTrue(len(var) == 2)
151  self.assertTrue('hi' == var[0])
152 
153  control.unset('MY_PATH')
154  self.assertTrue('MY_PATH' not in control)
155 
156 
def EnvConfig.TestEnvOps.Test.testVariableManipulations (   self)

Definition at line 626 of file TestEnvOps.py.

627  l = Variable.List('PATH')
628 
629  l.set("/usr/bin:/some//strange/../nice/./location")
630  assert l.value(asString=True) == "/usr/bin:/some/nice/location"
631 
632  l.append("/another/path")
633  assert l.value(asString=True) == "/usr/bin:/some/nice/location:/another/path"
634 
635  # duplicates removal
636  l.append("/usr/bin")
637  assert l.value(asString=True) == "/usr/bin:/some/nice/location:/another/path"
638  l.prepend("/another/path")
639  assert l.value(asString=True) == "/another/path:/usr/bin:/some/nice/location"
640 
641  s = Variable.Scalar('VAR')
642 
643  s.set("/usr/bin")
644  assert s.value(asString=True) == "/usr/bin"
645 
646  s.set("/some//strange/../nice/./location")
647  assert s.value(asString=True) == "/some/nice/location"
648 
649  # This is undefined
650  # l.set("http://cern.ch")
651 
652  s.set("http://cern.ch")
653  assert s.value(asString=True) == "http://cern.ch"
654 
def testVariableManipulations(self)
Definition: TestEnvOps.py:626
def EnvConfig.TestEnvOps.Test.testVariables (   self)
Tests variables creation and redeclaration.

Definition at line 285 of file TestEnvOps.py.

285  def testVariables(self):
286  '''Tests variables creation and redeclaration.'''
287  control = Control.Environment()
288 
289  control.append('MY_PATH', 'newValue')
290  self.assertFalse(control.var('MY_PATH').local)
291  self.assertTrue(isinstance(control.var('MY_PATH'),Variable.List))
292 
293  control.declare('loc', 'list', True)
294  self.assertTrue(control.var('loc').local)
295  self.assertTrue(isinstance(control.var('loc'),Variable.List))
296 
297  control.declare('myVar2', 'scalar', False)
298  self.assertFalse(control.var('myVar2').local)
299  self.assertTrue(isinstance(control.var('myVar2'),Variable.Scalar))
300 
301  control.declare('loc2', 'scalar', True)
302  self.assertTrue(control.var('loc2').local)
303  self.assertTrue(isinstance(control.var('loc2'),Variable.Scalar))
304 
305  control.declare('MY_PATH', 'list', False)
306  self.failUnlessRaises(Variable.EnvError, control.declare, 'MY_PATH', 'list', True)
307  self.failUnlessRaises(Variable.EnvError, control.declare, 'MY_PATH', 'scalar', True)
308  self.failUnlessRaises(Variable.EnvError, control.declare, 'MY_PATH', 'scalar', True)
309 
310  control.declare('loc', 'list', True)
311  self.failUnlessRaises(Variable.EnvError, control.declare,'loc', 'list', False)
312  self.failUnlessRaises(Variable.EnvError, control.declare,'loc', 'scalar', True)
313  self.failUnlessRaises(Variable.EnvError, control.declare,'loc', 'scalar', True)
314 
315  control.declare('myVar2', 'scalar', False)
316  self.failUnlessRaises(Variable.EnvError, control.declare,'myVar2', 'list', False)
317  self.failUnlessRaises(Variable.EnvError, control.declare,'myVar2', 'list', True)
318  self.failUnlessRaises(Variable.EnvError, control.declare,'myVar2', 'scalar', True)
319 
320  control.declare('loc2', 'scalar', True)
321  self.failUnlessRaises(Variable.EnvError, control.declare,'loc2', 'list', False)
322  self.failUnlessRaises(Variable.EnvError, control.declare,'loc2', 'list', True)
323  self.failUnlessRaises(Variable.EnvError, control.declare,'loc2', 'scalar', False)
324 
325 
def EnvConfig.TestEnvOps.Test.testWrite (   self)
XML file write and load test

Definition at line 171 of file TestEnvOps.py.

171  def testWrite(self):
172  """XML file write and load test"""
173  control = Control.Environment(useAsWriter = True)
174  control.unset('MY_PATH')
175  control.set('MY_PATH', 'set:toDelete')
176  control.append('MY_PATH', 'appended:toDelete')
177  control.prepend('MY_PATH', 'prepended:toDelete')
178  control.remove('MY_PATH', 'toDelete')
179  control.finishXMLinput('testOutputFile.xml')
180 
181  control = Control.Environment()
182  self.assertFalse('MY_PATH' in control.vars())
183  control.loadXML('testOutputFile.xml')
184 
185  self.assertTrue('MY_PATH' in control.vars())
186  var = control.var('MY_PATH')
187  self.assertTrue(var[0] == 'prepended')
188  self.assertTrue(var[1] == 'set')
189  self.assertTrue(var[2] == 'appended')
190  self.assertFalse('toDelete' in var)
191 
192  os.remove('testOutputFile.xml')
193 
194 
def EnvConfig.TestEnvOps.Test.testWriteWithList (   self)
XML file write and load test

Definition at line 195 of file TestEnvOps.py.

195  def testWriteWithList(self):
196  """XML file write and load test"""
197  control = Control.Environment(useAsWriter = True)
198  control.unset('MY_PATH')
199  control.set('MY_PATH', ['set','toDelete'])
200  control.append('MY_PATH', ['appended','toDelete'])
201  control.prepend('MY_PATH', ['prepended','toDelete'])
202  control.remove('MY_PATH', ['toDelete'])
203  control.finishXMLinput('testOutputFile.xml')
204 
205  control = Control.Environment()
206  self.assertFalse('MY_PATH' in control.vars())
207  control.loadXML('testOutputFile.xml')
208 
209  self.assertTrue('MY_PATH' in control.vars())
210  var = control.var('MY_PATH')
211  self.assertTrue(var[0] == 'prepended')
212  self.assertTrue(var[1] == 'set')
213  self.assertTrue(var[2] == 'appended')
214  self.assertFalse('toDelete' in var)
215 
216  os.remove('testOutputFile.xml')
217 
218 

The documentation for this class was generated from the following file: