def test_apropos_with_unreadable_dir(self):
     # Issue 7367 - pydoc -k failed when unreadable dir on path
     self.unreadable_dir = os.path.join(TESTFN, "unreadable")
     os.mkdir(self.unreadable_dir, 0)
     self.addCleanup(os.rmdir, self.unreadable_dir)
     # Note, on Windows the directory appears to be still
     #   readable so this is not really testing the issue there
     with self.restrict_walk_packages(path=[TESTFN]):
         with captured_stdout() as out:
             with captured_stderr() as err:
                 pydoc.apropos('SOMEKEY')
     # No result, no error
     self.assertEqual(out.getvalue(), '')
     self.assertEqual(err.getvalue(), '')
Ejemplo n.º 2
0
 def test_apropos_empty_doc(self):
     pkgdir = os.path.join(TESTFN, 'walkpkg')
     os.mkdir(pkgdir)
     self.addCleanup(rmtree, pkgdir)
     init_path = os.path.join(pkgdir, '__init__.py')
     with open(init_path, 'w') as fobj:
         fobj.write("foo = 1")
     current_mode = stat.S_IMODE(os.stat(pkgdir).st_mode)
     try:
         os.chmod(pkgdir, current_mode & ~stat.S_IEXEC)
         with self.restrict_walk_packages(path=[TESTFN]), captured_stdout() as stdout:
             pydoc.apropos('')
         self.assertIn('walkpkg', stdout.getvalue())
     finally:
         os.chmod(pkgdir, current_mode)
 def test_apropos_with_bad_package(self):
     # Issue 7425 - pydoc -k failed when bad package on path
     pkgdir = os.path.join(TESTFN, "syntaxerr")
     os.mkdir(pkgdir)
     badsyntax = os.path.join(pkgdir, "__init__") + os.extsep + "py"
     with open(badsyntax, 'w') as f:
         f.write("invalid python syntax = $1\n")
     with self.restrict_walk_packages(path=[TESTFN]):
         with captured_stdout() as out:
             with captured_stderr() as err:
                 pydoc.apropos('xyzzy')
         # No result, no error
         self.assertEqual(out.getvalue(), '')
         self.assertEqual(err.getvalue(), '')
         # The package name is still matched
         with captured_stdout() as out:
             with captured_stderr() as err:
                 pydoc.apropos('syntaxerr')
         self.assertEqual(out.getvalue().strip(), 'syntaxerr')
         self.assertEqual(err.getvalue(), '')
Ejemplo n.º 4
0
 def test_apropos_with_bad_package(self):
     # Issue 7425 - pydoc -k failed when bad package on path
     pkgdir = os.path.join(TESTFN, "syntaxerr")
     os.mkdir(pkgdir)
     badsyntax = os.path.join(pkgdir, "__init__") + os.extsep + "py"
     with open(badsyntax, 'w') as f:
         f.write("invalid python syntax = $1\n")
     with self.restrict_walk_packages(path=[TESTFN]):
         with captured_stdout() as out:
             with captured_stderr() as err:
                 pydoc.apropos('xyzzy')
         # No result, no error
         self.assertEqual(out.getvalue(), '')
         self.assertEqual(err.getvalue(), '')
         # The package name is still matched
         with captured_stdout() as out:
             with captured_stderr() as err:
                 pydoc.apropos('syntaxerr')
         self.assertEqual(out.getvalue().strip(), 'syntaxerr')
         self.assertEqual(err.getvalue(), '')
Ejemplo n.º 5
0
 def update_event(self, inp=-1):
     self.set_output_val(0, pydoc.apropos(self.input(0)))