[py-svn] r32976 - py/dist/py/documentation/apigen

fijal at codespeak.net fijal at codespeak.net
Sat Oct 7 07:54:29 CEST 2006


Author: fijal
Date: Sat Oct  7 07:53:35 2006
New Revision: 32976

Added:
   py/dist/py/documentation/apigen/roadmap.txt   (contents, props changed)
Log:
Added draft of roadmap.


Added: py/dist/py/documentation/apigen/roadmap.txt
==============================================================================
--- (empty file)
+++ py/dist/py/documentation/apigen/roadmap.txt	Sat Oct  7 07:53:35 2006
@@ -0,0 +1,102 @@
+
+Pylib roadmap, from my point of view
+====================================
+
+Author: Maciek Fijalkowski
+--------------------------
+
+Date: 7.X.2006
+
+Rough specifications of what needs to be done regarding py.test
+(especially distributed version), py.api and others.
+
+So main targets (for near future) of pylib developement would be:
+
+* further py.test distributed developement, especially incorporating
+  some command line options (I think -x and -k are done). This might be:
+  - options transfer to clients (maybe whole conftest) to allow them
+    to perform special things.
+  - -s (how???) --view for pypy, etc.
+  - screen/--pdb (there is some work done in this area)
+  - If someone (merlinux?) set up test farm (few machines connected
+    together for running tests), provide convenient interface for
+    running at least nightly tests (web one? offline html?) or even
+    just running tests for branch, trunk, custom svn without need to
+    upload local changes every time (RSync daemon?). I'm not sure if
+    it does make any sense, but makes convinient if we provide
+    front machine with access, not all the nodes (XXX and what with
+    screen?)
+  - Make sure web frontend works when more than one client (webbrowser)
+    connects to it (actually it does not).
+  - XXX: anything else?
+
+
+* integration from py.test distributed into normal py.test, especially
+  cool reporting features as well as web frontend (and extend it a bit)
+
+* benchmark integration into py.test. This issue haven't been discussed
+  in details. From my POV there should be done like running test in a
+  loop till having at least few seconds of run (some pypy tests takes
+  minutes to run, so this will not re-run the tests, but just take one),
+  than gather information and report it somehow. Should work as well
+  in distributed version (due to cool reporting, this might be the first
+  place to integrate). Various issues:
+  - Measure in MegaPystones or some other not-CPU-dependant units, so
+    we can compare results from different machines.
+
+PY.API:
+-------
+
+(actually lying down in py.test.tracer in branch, maybe not
+too nice name for that).
+
+Actual working version can provide simple ReST out of running very
+simple tests (functions only).
+
+So, todo list is (in random order):
+
+* Make interface for every possible single item on the end (function,
+  method, generator) to provide better coverage.
+
+* Make more... (frontend for API extraction, backend for output 
+  generation, different source link generators, etc. etc.)
+
+* Integrate it into py.test, as well as make possibility of gathering
+  this data from running process (this might allow to get it remotely
+  as well) with quite different tool (console/web, with possibility
+  to snapshot to static outcome).
+
+* Provide some model of determining which methods are exposed as API
+  and which are internal (just called directly in unittest looks like
+  enough for now, altough we do not have method of determining that yet)
+
+* Make clean vision of pypy annotation typesystem, probably even
+  extend it a bit (it's still easier to use than providing all
+  the interface on our own). Possible extensions:
+  - Provide SomeUnion instead of SomeObject which will behave like
+    gathering all possibilities together (this might be beneficient to
+    pypy as well).
+  - Provide some convinient way of getting common interface out of
+    objects that are contained in SomeObject. Like "what are the
+    common methods of both, even if they do not share a baseclass".
+    In this place, it should be quite easy to add different type
+    joining functions by user, because different projects might have
+    different needs at this point.
+
+* Test it on generating pylib documentation.
+
+* Make some API definition tool (object format) for defining API in
+  pypy. This will make a lot easier annotating the pypy source with
+  info (like "what the heck type comes here as an argument"....)
+
+Timeline:
+---------
+
+This is quite huge wishlist.... I don't know exactly what are priorities
+on all the stuff, what I would go first is to make API tool usable and
+easy to use as soon as possible, to show it at HHU on sprint in some
+running fashion. It should be well tested and maybe not containing
+all-the-possible features, but runnable.
+
+Next thing to do is to extend py.test distributed, especially with
+screen functionality.


More information about the py-svn mailing list