[Happydoc-checkins] CVS: HappyDoc3/happydoclib tests.py,1.1,1.2
Brought to you by:
doughellmann,
krlosaqp
From: Doug H. <dou...@us...> - 2003-03-16 16:25:08
|
Update of /cvsroot/happydoc/HappyDoc3/happydoclib In directory sc8-pr-cvs1:/tmp/cvs-serv29191/happydoclib Modified Files: tests.py Log Message: Write test output to a directory based on the test id. Move some test logic into the HappyDocRunTest so it can be shared by different docset tests. Index: tests.py =================================================================== RCS file: /cvsroot/happydoc/HappyDoc3/happydoclib/tests.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** tests.py 15 Dec 2002 17:01:11 -0000 1.1 --- tests.py 16 Mar 2003 16:25:05 -0000 1.2 *************** *** 63,70 **** --- 63,72 ---- # import happydoclib + from happydoclib.scanner import Scanner # # Module # + __proctor_ignore_module__ = 1 class HappyDocRunTest(unittest.TestCase): *************** *** 72,87 **** TEST_OUTPUT_DIRECTORY_BASE = 'TestOutput' - def getTestName(self): - return self._TestCase__testMethodName - def getOutputDirectory(self): ! return os.path.join(self.TEST_OUTPUT_DIRECTORY_BASE, ! self.getTestName(), ! ) def runHappyDoc(self, *args): default_args = ( '-q', '-d', self.getOutputDirectory(), ! '-t', self.getTestName(), ) #default_args = ( '-d', self.getOutputDirectory(), ) --- 74,90 ---- TEST_OUTPUT_DIRECTORY_BASE = 'TestOutput' def getOutputDirectory(self): ! id = self.id() ! id_parts = id.split('.') ! id = os.sep.join(id_parts) ! output_dir = os.path.join(self.TEST_OUTPUT_DIRECTORY_BASE, ! id, ! ) ! return output_dir def runHappyDoc(self, *args): default_args = ( '-q', '-d', self.getOutputDirectory(), ! '--title', self.id(), ) #default_args = ( '-d', self.getOutputDirectory(), ) *************** *** 89,91 **** --- 92,184 ---- happydoc = happydoclib.HappyDoc(all_args) happydoc.run() + return + + def testAllExpectedFilesCreated(self): + # + # Run HappyDoc to generate output using our docset. + # + self.runHappyDoc( '-T', self.TEST_DOCSET, + os.path.join('TestCases', 'testScanner') ) + # + # Scan the output directory to find what files are there. + # + scanner = Scanner([self.getOutputDirectory()]) + # + # Build up the list of expected directories, + # and make sure they are all present. + # + root = os.path.join( self.getOutputDirectory(), 'testScanner' ) + expected_dirs = [ ('levelOne',), + ('levelOne', 'levelTwo'), + ] + expected_dirs = [ apply(os.path.join, (root,) + ed) + for ed in expected_dirs + ] + for dirname in expected_dirs: + self.failUnless(os.path.isdir(dirname), + '%s is not a directory' % dirname, + ) + + # + # Build up the list of expected files, + # and make sure they are all present. + # + expected_files = [ ('levelOne', 'index.html'), + ('levelOne', 'Existing.html'), + ('levelOne', 'README.html'), + ('levelOne', 'one.html'), + ('levelOne', 'levelTwo'), + ] + expected_files = [ apply(os.path.join, (root,) + ef) for ef in expected_files ] + for filename in expected_files: + self.failUnless(os.path.exists(filename), + '%s does not exist' % filename, + ) + return + + def testSelfDoc(self): + # + # Run HappyDoc against itself. + # + self.runHappyDoc( '-T', self.TEST_DOCSET, + '-i', 'TestCases', + '-i', 'TestOutput', + '-i', '^tests.py$', + '-i', '^test_.*.py$', + os.getcwd(), + ) + + # + # Create a scanner to find the output files generated. + # + scanner = Scanner([self.getOutputDirectory()]) + root = self.getOutputDirectory() + + # + # Directories to ignore + # + expected_dirs = [ ('HappyDoc3', 'levelOne',), + ('HappyDoc3', 'levelOne', 'levelTwo'), + ] + expected_dirs = [ apply(os.path.join, (root,) + ed) + for ed in expected_dirs + ] + for dirname in expected_dirs: + if os.path.isdir(dirname): + self.fail('%s should have been ignored' % dirname) + + # + # Directories to document + # + expected_dirs = [ ('HappyDoc3', 'happydoclib',), + ('HappyDoc3', 'happydoclib', 'docset'), + ('HappyDoc3', 'happydoclib', 'docstring'), + ('HappyDoc3', 'happydoclib', 'parseinfo'), + ] + expected_dirs = [ apply(os.path.join, (root,) + ed) + for ed in expected_dirs + ] + for dirname in expected_dirs: + if not os.path.isdir(dirname): + self.fail('%s should not have been ignored' % dirname) return |