forked from ungleich-public/cdist
		
	
					parent
					
						
							
								ba26a437be
							
						
					
				
			
			
				commit
				
					
						c17541f24c
					
				
			
		
					 3 changed files with 17 additions and 2 deletions
				
			
		| 
						 | 
					@ -25,6 +25,7 @@ import argparse
 | 
				
			||||||
import logging
 | 
					import logging
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cdist
 | 
					import cdist
 | 
				
			||||||
from cdist import core
 | 
					from cdist import core
 | 
				
			||||||
| 
						 | 
					@ -389,12 +390,15 @@ class Emulator:
 | 
				
			||||||
        if "require" in self.env:
 | 
					        if "require" in self.env:
 | 
				
			||||||
            requirements = self.env['require']
 | 
					            requirements = self.env['require']
 | 
				
			||||||
            self.log.debug("reqs = " + requirements)
 | 
					            self.log.debug("reqs = " + requirements)
 | 
				
			||||||
            for requirement in requirements.split(" "):
 | 
					            for requirement in self._parse_require(requirements):
 | 
				
			||||||
                # Ignore empty fields - probably the only field anyway
 | 
					                # Ignore empty fields - probably the only field anyway
 | 
				
			||||||
                if len(requirement) == 0:
 | 
					                if len(requirement) == 0:
 | 
				
			||||||
                    continue
 | 
					                    continue
 | 
				
			||||||
                self.record_requirement(requirement)
 | 
					                self.record_requirement(requirement)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def _parse_require(self, require):
 | 
				
			||||||
 | 
					        return re.split(r'[ \t\n]+', require)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def record_auto_requirements(self):
 | 
					    def record_auto_requirements(self):
 | 
				
			||||||
        """An object shall automatically depend on all objects that it
 | 
					        """An object shall automatically depend on all objects that it
 | 
				
			||||||
           defined in it's type manifest.
 | 
					           defined in it's type manifest.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -685,6 +685,16 @@ class EmulatorAlreadyExistingRequirementsWarnTestCase(test.CdistTestCase):
 | 
				
			||||||
        self.env['require'] = '__directory/spam'
 | 
					        self.env['require'] = '__directory/spam'
 | 
				
			||||||
        emu = emulator.Emulator(argv, env=self.env)
 | 
					        emu = emulator.Emulator(argv, env=self.env)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_parse_require(self):
 | 
				
			||||||
 | 
					        require = " \t \n  \t\t\n\t\na\tb\nc d \te\t\nf\ng\t "
 | 
				
			||||||
 | 
					        expected = ['', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '', ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        argv = ['__directory', 'spam']
 | 
				
			||||||
 | 
					        emu = emulator.Emulator(argv, env=self.env)
 | 
				
			||||||
 | 
					        requirements = emu._parse_require(require)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.assertEqual(expected, requirements)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == '__main__':
 | 
					if __name__ == '__main__':
 | 
				
			||||||
    import unittest
 | 
					    import unittest
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -95,7 +95,8 @@ Dependencies
 | 
				
			||||||
------------
 | 
					------------
 | 
				
			||||||
If you want to describe that something requires something else, just
 | 
					If you want to describe that something requires something else, just
 | 
				
			||||||
setup the variable "require" to contain the requirements. Multiple
 | 
					setup the variable "require" to contain the requirements. Multiple
 | 
				
			||||||
requirements can be added white space separated.
 | 
					requirements can be added separated with (optionally consecutive)
 | 
				
			||||||
 | 
					delimiters including space, tab and newline.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
::
 | 
					::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue