def set_output(self, fd=None): '''Override the method to store the files in the target folder''' # Check if output specified if fd is None: raise nexcepts.AuditError('file expected for output') # Check that output is a real file if not fd.fileno() > 2: raise nexcepts.AuditError('real file expected for output: got %s' % fd.name) # Get the base bn = fd.name # Close the file fd.close() # Drop it os.remove(bn) # Check if default reporter if not self.default(): # Check if target folder exists ntools.create(self.target) # Get the file self.reporter.set_output(open(os.path.join(self.target, bn), 'w'))
def initialize(self): '''Set the environment''' # Check that source folder exists if specified if self.source and not os.path.isdir(self.source): # Source folder doesn't exist raise nexcepts.NoseXUnitError("source folder doesn't exist: %s" % self.source) # Create the core target folder ntools.create(self.core_target) # Clean the target folder of the core ntools.clean(self.core_target, nconst.PREFIX_CORE, nconst.EXT_CORE) # Initialize the packages self.packages = {} # Add the source folder in the path if self.source: # Get the packages self.packages = ntools.packages(self.source, search=self.search_source) # Get the folders to add in the path folders = [] # Go threw the packages for package in self.packages.keys(): # Check if is as sub package or a sub module if package.find('.') == -1: # Get the folder folder = os.path.dirname(self.packages[package]) # If not already in, add it if folder not in folders: folders.append(folder) # Get current path backup = sys.path # Clean up sys.path = [] # Add to the path for folder in folders: # Log logger.info('add folder in sys.path: %s' % folder) # Add to the path sys.path.append(folder) # Add old ones sys.path.extend(backup) # Check if audit enabled if self.audit: # Check if source folder specified if not self.source: raise nexcepts.NoseXUnitError('source folder required for audit') # Check output if self.audit_output not in naudit.outputs(): raise nexcepts.NoseXUnitError('output not available for audit: %s' % self.audit_output) # Create the target folder for audit ntools.create(self.audit_target) # Get the package list for audit self.audit_packages = [ package for package in self.packages.keys() if package.find('.') == -1 and self.enable(package) ] # Check at least one if self.audit_packages == []: raise nexcepts.NoseXUnitError('no package to audit') # Start audit self.audit_cls = naudit.audit(self.source, self.audit_packages, self.audit_output, self.audit_target, self.audit_config) # No test class else: self.audit_cls = [] # Check if coverage enabled if self.cover: # Check if source folder specified if not self.source: raise nexcepts.NoseXUnitError('source folder required for coverage') # Create the target folder for audit ntools.create(self.cover_target) # Get the skipped ones self.skipped = sys.modules.keys()[:] # Get the coverage packages self.cover_packages = [ package for package in self.packages.keys() if self.enable(package) ] # Check at least one if self.cover_packages == []: raise nexcepts.NoseXUnitError('no package to cover') # Start coverage ncover.start(self.cover_clean, self.cover_packages, self.cover_target)
def test_not_exists(self): folder = os.path.join(self.work, 'foo') ntools.create(folder) self.assertTrue(os.path.isdir(folder))
def initialize(self): '''Set the environment''' # Check that source folder exists if specified if self.source and not os.path.isdir(self.source): # Source folder doesn't exist raise nexcepts.NoseXUnitError("source folder doesn't exist: %s" % self.source) # Create the core target folder ntools.create(self.core_target) # Clean the target folder of the core ntools.clean(self.core_target, nconst.PREFIX_CORE, nconst.EXT_CORE) # Initialize the packages self.packages = {} # Add the source folder in the path if self.source: # Get the packages self.packages = ntools.packages(self.source, search=self.search_source) # Get the folders to add in the path folders = [] # Go threw the packages for package in list(self.packages.keys()): # Check if is as sub package or a sub module if package.find('.') == -1: # Get the folder folder = os.path.dirname(self.packages[package]) # If not already in, add it if folder not in folders: folders.append(folder) # Get current path backup = sys.path # Clean up sys.path = [] # Add to the path for folder in folders: # Log logger.info('add folder in sys.path: %s' % folder) # Add to the path sys.path.append(folder) # Add old ones sys.path.extend(backup) # Check if audit enabled if self.audit: # Check if source folder specified if not self.source: raise nexcepts.NoseXUnitError( 'source folder required for audit') # Check output if self.audit_output not in naudit.outputs(): raise nexcepts.NoseXUnitError( 'output not available for audit: %s' % self.audit_output) # Create the target folder for audit ntools.create(self.audit_target) # Get the package list for audit self.audit_packages = [ package for package in list(self.packages.keys()) if package.find('.') == -1 and self.enable(package) ] # Check at least one if self.audit_packages == []: raise nexcepts.NoseXUnitError('no package to audit') # Start audit self.audit_cls = naudit.audit(self.source, self.audit_packages, self.audit_output, self.audit_target, self.audit_config) # No test class else: self.audit_cls = [] # Check if coverage enabled if self.cover: # Check if source folder specified if not self.source: raise nexcepts.NoseXUnitError( 'source folder required for coverage') # Create the target folder for audit ntools.create(self.cover_target) # Get the skipped ones self.skipped = list(sys.modules.keys())[:] # Get the coverage packages self.cover_packages = [ package for package in list(self.packages.keys()) if self.enable(package) ] # Check at least one if self.cover_packages == []: raise nexcepts.NoseXUnitError('no package to cover') # Start coverage ncover.start(self.cover_clean, self.cover_packages, self.cover_target)