[py-svn] r36362 - in py/dist/py: . test test/rsession

fijal at codespeak.net fijal at codespeak.net
Tue Jan 9 16:03:11 CET 2007


Author: fijal
Date: Tue Jan  9 16:03:09 2007
New Revision: 36362

Modified:
   py/dist/py/conftest.py
   py/dist/py/test/defaultconftest.py
   py/dist/py/test/rsession/rsession.py
Log:
Moved --apigen into --apigen=script, moving stuff away from a conftest


Modified: py/dist/py/conftest.py
==============================================================================
--- py/dist/py/conftest.py	(original)
+++ py/dist/py/conftest.py	Tue Jan  9 16:03:09 2007
@@ -25,33 +25,3 @@
                help=("target to run tests requiring ssh, e.g. "
                      "user at codespeak.net")),
     )
-
-class ApiGen:
-    def get_doc_storage():
-        from py.__.apigen.tracer.docstorage import DocStorage
-        return DocStorage().from_pkg(py)
-    get_doc_storage = staticmethod(get_doc_storage)
-    
-    def write_docs(ds):
-        #from py.__.apigen.rest.genrest import DirectPaste, RestGen, \
-        #                                      HTMLDirWriter, SourceView
-        #from py.__.apigen.rest.htmlhandlers import IndexHandler, PageHandler
-        #outdir = py.path.local('/tmp/output')
-        #RestGen(ds, SourceView("http://codespeak.net/source"),
-        #        HTMLDirWriter(IndexHandler, PageHandler, outdir)).write()
-        #if not outdir.join('style.css').check():
-        #    py.magic.autopath().dirpath().join('apigen/style.css').copy(outdir)
-        #if not outdir.join('apigen.js').check():
-        #    py.magic.autopath().dirpath().join('apigen/apigen.js').copy(outdir)
-        from py.__.apigen.rest.genrest import DirectPaste, RestGen, \
-                                              HTMLDirWriter, SourceView
-        from py.__.apigen.rest.htmlhandlers import IndexHandler, PageHandler
-        from py.__.apigen.tracer.permastore import PermaDocStorage
-        from py.__.apigen.tracer.docstorage import DocStorageAccessor
-        ps = PermaDocStorage(DocStorageAccessor(ds))
-        try:
-            from cPickle import dumps
-        except ImportError:
-            from pickle import dumps
-        open("/tmp/output.pickle", "w").write(dumps(ps))
-    write_docs = staticmethod(write_docs)

Modified: py/dist/py/test/defaultconftest.py
==============================================================================
--- py/dist/py/test/defaultconftest.py	(original)
+++ py/dist/py/test/defaultconftest.py	Tue Jan  9 16:03:09 2007
@@ -51,9 +51,9 @@
                action="store_true", dest="traceconfig", default=False,
                help="trace considerations of conftest.py files."),
         Option('', '--apigen',
-               action="store_true", dest="apigen", default=False,
-               help="generate api documentation while testing (requires "
-                    "initpkg/conftest config)."),
+               action="store", dest="apigen",
+               help="generate api documentation while testing (requires"
+               "argument pointing to a script)."),
     )
     py.test.Config.addoptions('test-session related options',
         Option('', '--tkinter',

Modified: py/dist/py/test/rsession/rsession.py
==============================================================================
--- py/dist/py/test/rsession/rsession.py	(original)
+++ py/dist/py/test/rsession/rsession.py	Tue Jan  9 16:03:09 2007
@@ -288,24 +288,28 @@
 
     def write_docs(self):
         if self.config.option.apigen:
+            from py.__.apigen.tracer.docstorage import DocStorageAccessor
+            apigen = py.path.local(self.config.option.apigen).pyimport()
+            pkgpath = py.path.local(py.__file__).dirpath()
             try:
-                apigen = self.config.getinitialvalue('ApiGen')
-            except ValueError:
-                raise NotImplementedError("Cannot create docs - didn't "
-                    "provided way of doing that in conftest")
-            else:
-                apigen.write_docs(self.docstorage)
-
+                apigen.build(pkgpath, DocStorageAccessor(self.docstorage))
+            except (ValueError, AttributeError):
+                raise NotImplementedError("Provided script does not seem "
+                                          "to contain build function")
 
     def init_runner(self):
         if self.config.option.apigen:
-            from py.__.apigen.tracer.tracer import Tracer
+            from py.__.apigen.tracer.tracer import Tracer, DocStorage
             module = py
             try:
-                self.docstorage = self.config.getinitialvalue('ApiGen').get_doc_storage()
+                apigen = py.path.local(self.config.option.apigen).pyimport()
+                self.docstorage = DocStorage().from_dict(
+                    apigen.get_documentable_items())
+            except ImportError:
+                raise ImportError("Provided script cannot be imported")
             except (ValueError, AttributeError):
-                raise NotImplementedError("Need to provide conftest "
-                    "way of generating DocStorage")
+                raise NotImplementedError("Provided script does not seem "
+                                          "to contain get_documentable_items")
             self.tracer = Tracer(self.docstorage)
             return apigen_runner
         else:



More information about the pytest-commit mailing list