Commit Graph

227 Commits

Author SHA1 Message Date
hpk 54cc936437 [svn r63560] beginning to review/polish test events
* pyevent() now receives args and kwargs as simple arguments
* refactoring event handling in tests

--HG--
branch : trunk
2009-04-03 12:57:34 +02:00
hpk 069ab6ff5f [svn r63547] renaming all event consumers to use the "__" convention that
is also used for funcargs.

--HG--
branch : trunk
2009-04-02 19:58:51 +02:00
hpk fbf70a35a2 [svn r63540] fixing shallow test bugs
--HG--
branch : trunk
2009-04-02 15:33:14 +02:00
hpk 662e6905ef [svn r63359] change funcargs naming to use __
--HG--
branch : trunk
2009-03-26 13:50:12 +01:00
hpk cd3e86d185 [svn r63353] better command option handling
--HG--
branch : trunk
2009-03-26 13:21:05 +01:00
hpk 92e354a486 [svn r63339] undo rev 63000 so that there is only one method now for funcargs
--HG--
branch : trunk
2009-03-26 10:26:09 +01:00
hpk 8230a39b39 [svn r63338] rename pyfuncarg to funcarg
--HG--
branch : trunk
2009-03-26 10:16:30 +01:00
hpk ee902a2d06 [svn r63337] provide more info for the pyfuncarg failing lookup
improve docstring

--HG--
branch : trunk
2009-03-26 10:14:09 +01:00
hpk 1930f50bc2 [svn r63319] * fixing verbose reporting to work the "old" way for non-dist settings
* bump version number
* comment out greenlet C-Extension for now

--HG--
branch : trunk
2009-03-25 12:50:57 +01:00
hpk 74958be548 [svn r63300] * refining pyfuncarg setup, now there is explicit registration!
* porting monkeypatch and pytester funcargs to the new method
* fixing a kind-of-a-bug with MultiCalls

--HG--
branch : trunk
2009-03-24 23:00:07 +01:00
hpk 2c2bfb5513 [svn r63210] * implement "--dist=each" to distribute each to each available node
* improved node-management and nice showing of results
* streamline command line options

--HG--
branch : trunk
2009-03-22 21:44:45 +01:00
hpk ad6afe21ff [svn r63209] polish command line options for distributed testing.
--HG--
branch : trunk
2009-03-22 18:41:36 +01:00
hpk bda844b544 [svn r63201] allow to specify "3*" for host specs.
--HG--
branch : trunk
2009-03-22 02:19:57 +01:00
hpk 422635ea47 [svn r63195] * fix rsyncdir usages all around
* rename looponfailing to looponfail

--HG--
branch : trunk
2009-03-21 21:07:45 +01:00
hpk 0ba4bd25ac [svn r63193] normalize towards 'iocapture' option
--HG--
branch : trunk
2009-03-21 20:58:41 +01:00
hpk 3902890e1b [svn r63192] rename dsession to dist
--HG--
branch : trunk
2009-03-21 20:31:09 +01:00
hpk fc14b038af [svn r63191] * remove "--exec"
* cleanup of options

--HG--
branch : trunk
2009-03-21 20:28:35 +01:00
hpk 75bfb84ea5 [svn r63163] fixing tests, better verbose output for dist-runs
--HG--
branch : trunk
2009-03-21 03:04:44 +01:00
hpk 6a1db0a594 [svn r63162] all tests pass again, output on test node setup and initialization is now much nicer.
--HG--
branch : trunk
2009-03-21 02:31:27 +01:00
hpk 69e68bed29 [svn r63157] remove old events, some more renamings
--HG--
branch : trunk
2009-03-20 21:38:50 +01:00
hpk 10fb32ad37 [svn r63151] fix various bits, many tests pass modulo dsession host/node handling
--HG--
branch : trunk
2009-03-20 18:58:36 +01:00
hpk 22b4ff7f06 [svn r63104] * introduce rsync events
* only rsync once if a gateway is specified multiply

--HG--
branch : trunk
2009-03-20 01:34:59 +01:00
hpk 92b2d4786d [svn r63073] make sure that generated test names are always unique
--HG--
branch : trunk
2009-03-19 15:34:33 +01:00
hpk d9242d2a75 [svn r63054] several windows fixes, test suite passes now remotely.
--HG--
branch : trunk
2009-03-18 21:49:38 +01:00
hpk f013f0a54b [svn r63050] * disabled classes or modules will now lead to a skip during setup of the colitem
* more graceful handling when "ssh" is not present

--HG--
branch : trunk
2009-03-18 18:54:45 +01:00
hpk 772658d616 [svn r63028] allow py.test --exec=python2.4 -n 3 to work
and fix some bugs from doing so.

--HG--
branch : trunk
2009-03-18 13:05:18 +01:00
hpk b5b7f9b3a9 [svn r63018] rename "--hosts" to "--gateways" to make naming more consistent with py.execnet
--HG--
branch : trunk
2009-03-18 00:58:06 +01:00
hpk d626a63934 [svn r63017] rename colitem._config to colitem.config - it's an official attribute
--HG--
branch : trunk
2009-03-18 00:48:07 +01:00
hpk 9db14e19e8 [svn r63013] adding a failing test for --dist-each
--HG--
branch : trunk
2009-03-17 22:11:23 +01:00
hpk 0def6737ac [svn r62998] tweak another place to not create random subdirs
--HG--
branch : trunk
2009-03-17 14:10:17 +01:00
hpk fc7abf0efe [svn r62997] some more tests, seems like temp test dirs are now more contained when doing distributed testing
--HG--
branch : trunk
2009-03-17 13:42:40 +01:00
hpk 7ed26c2929 [svn r62993] * moving ensuretemp to config object
* adding --basetemp option
* added/rewrote some tests

--HG--
branch : trunk
2009-03-17 11:29:45 +01:00
hpk 6397c38725 [svn r62985] rewrite and fix a skipped test
--HG--
branch : trunk
2009-03-17 08:35:58 +01:00
hpk 3815c1afc9 [svn r62983] forgot to add traceback cutting tests long time ago, i guess
--HG--
branch : trunk
2009-03-17 08:11:18 +01:00
hpk bbdebac87a [svn r62982] report basic configuration errors more gracefully to the user
--HG--
branch : trunk
2009-03-17 08:03:49 +01:00
hpk 771ce92fdf [svn r62981] allowing conftest to set default values for options
--HG--
branch : trunk
2009-03-17 07:10:40 +01:00
hpk b5a1f95856 [svn r62978] * introduce --hosts and --rsyncdirs optiosn
* re-sort option groups, disable some options for now
* add docstrings to execnet gatewaymanage
* streamline tests a bit
* unify debugging and tracing

--HG--
branch : trunk
2009-03-16 22:17:14 +01:00
hpk e2bbee8bbd [svn r62974] don't allow "_" in py.test.mark attributes
--HG--
branch : trunk
2009-03-16 17:04:18 +01:00
hpk 13dacf38eb [svn r62615] implement a use case for avoiding recursion into a directory.
--HG--
branch : trunk
2009-03-05 23:54:04 +01:00
hpk ad06cfdc9d [svn r62613] introduced a pytest_collect_directory hook.
--HG--
branch : trunk
2009-03-05 23:15:42 +01:00
hpk a743caef18 [svn r62487] merging hostmanage branch:
* cleanup of the way distributed/remote sessions are setup up
* simplified config pickling
* configs are now more correctly wired on receival at remote sides
* introduced py.__.execnet.gwmanage helps managing calls to multiple hosts
* grouping all pickling related tests in test_pickle.py
  and showcasing a nice pyfunc_call hack

--HG--
branch : trunk
2009-03-03 18:42:32 +01:00
hpk fbe8315f76 [svn r62430] honour unitttest function default values for pyfuncarg protocol
--HG--
branch : trunk
2009-03-02 23:43:31 +01:00
hpk a1295015f1 [svn r62348] add support fo setting command line options from PYTEST_OPTION_NAME environment vars
add a first bit of documentation

(merge of 62304:HEAD from the hostmanage branch)

--HG--
branch : trunk
2009-03-02 12:14:59 +01:00
hpk 1764555778 [svn r62292] use prefix "do_" for configure/unconfigure calls to plugins in addition to addoption.
--HG--
branch : trunk
2009-03-01 14:56:29 +01:00
hpk 50acc51ac1 [svn r62290] slightly sanitizing initialization of serialised config objects.
--HG--
branch : trunk
2009-03-01 14:43:53 +01:00
hpk d47ae0dc8d [svn r62287] By default cut traceback such that py lib code does not appear
test tracebacks.

--HG--
branch : trunk
2009-03-01 12:24:52 +01:00
hpk 3561d2e9ff [svn r62256] getting rid of "--session", you can do it by
creating a plugin and calling setsessionclass
from "pytest_configure".

--HG--
branch : trunk
2009-02-27 22:32:49 +01:00
hpk 6f145b7c3c [svn r62252] renaming "py.test.keywords" to "py.test.mark".
--HG--
branch : trunk
2009-02-27 20:56:51 +01:00
hpk 27110ea361 [svn r62244] fixed wrongly renamed methods
--HG--
branch : trunk
2009-02-27 16:45:31 +01:00
hpk c17a09adaf [svn r62211] merge 60797:HEAD of pytestplugin branch:
this merge contains:

* a new plugin architecture
* a pluginized pytest core
* many pytest related refactorings
* refactorings/streamlining of pytest's own tests

--HG--
branch : trunk
2009-02-27 11:18:27 +01:00
fijal 1dc8555ca0 [svn r61296] a failing test
--HG--
branch : trunk
2009-01-24 09:44:03 +01:00
pedronis 6ec13a2b9c [svn r60142] - experimental support to let decorators used on tests specify a saner order by attaching the original function (we have been
using something like this for quite a while at OE)
- make the explicit names test more paranoid

--HG--
branch : trunk
2008-11-25 20:15:01 +01:00
pedronis d491d68d51 [svn r60137] support for explicitly named generative tests with tests and doc addition.
--HG--
branch : trunk
2008-11-25 17:10:16 +01:00
pedronis c52d8bcdde [svn r59615] given the format and the fact that external timeout logic may kill a py.test emitting a resultlog switching to line buffering
seems a good idea

--HG--
branch : trunk
2008-11-01 11:01:44 +01:00
hpk c338420976 [svn r58699] show traceback before jumping into pdb
--HG--
branch : trunk
2008-10-07 11:26:56 +02:00
hpk 5b21c540b6 [svn r58384] adding a test for unimplemented recording feature
--HG--
branch : trunk
2008-09-23 16:25:16 +02:00
pedronis 8b3fe55158 [svn r58316] (iko, pedronis)
move the FileLogSession into the py.lib proper, activated with the option --resultlog (suggestions
for a better name are welcome)

- added its tests
- plus a functional/integration test in test_config in the style of the one for eventlog

--HG--
branch : trunk
2008-09-22 14:34:54 +02:00
hpk cc10d84088 [svn r58308] * de-generalize conditional skips and only care
nicely for common tedious causes of skipping:
  import a module and checking it has a certain
  version.  usage example:

  docutils = py.test.importorskip(docutils, minversion="0.4")

* used new helper and cleanup skipping logic in py lib

--HG--
branch : trunk
2008-09-21 17:15:28 +02:00
hpk fa5c975c00 [svn r58300] adding option to specify namespace for ifraises execution.
--HG--
branch : trunk
2008-09-21 15:43:01 +02:00
hpk e77fab82ee [svn r58297] add a new way of conditionally skipping a test:
py.test.skip(ifraises="...")

see more info in the added doc.

also remove a redundant raises test and
cleanup raises code a bit.

--HG--
branch : trunk
2008-09-21 14:50:56 +02:00
hpk cf007ce7c5 [svn r58224] remove redundant py import, thanks getxsick
--HG--
branch : trunk
2008-09-18 17:41:19 +02:00
hpk 0d955758ba [svn r58027] skip specific test instead of all pexpect ones.
--HG--
branch : trunk
2008-09-09 23:40:21 +02:00
hpk af33fb16f7 [svn r58026] avoiding an issue with older pexpect versions
--HG--
branch : trunk
2008-09-09 23:36:30 +02:00
hpk 7dfc85b046 [svn r58020] streamline pdb pexpect test
--HG--
branch : trunk
2008-09-09 20:18:22 +02:00
hpk 2bac2ed175 [svn r58013] bah, forgot that helper uses fnmatch-style matching, not regular expression
--HG--
branch : trunk
2008-09-09 19:15:37 +02:00
pedronis 7a21f7157e [svn r57971] (iko, pedronis)
make the Directory collection return files sorted by name again, as it seemed expected by the tests

--HG--
branch : trunk
2008-09-08 15:02:35 +02:00
hpk e29a48b575 [svn r57834] try to accomodate the fact that some conftests like the Prolog-test ones
subclass Module but do not actually have an underlying python file.
Nowadays, they should subclass "py.test.collect.File".

--HG--
branch : trunk
2008-09-05 12:07:36 +02:00
hpk d83db97806 [svn r57772] tweak
--HG--
branch : trunk
2008-09-02 21:38:46 +02:00
hpk 9eb1d55380 [svn r57762] * settle on using suptest for supporting test runs
* fix a bug in getmodpath
* remove redundant functions/files

--HG--
branch : trunk
2008-09-02 16:31:42 +02:00
hpk 561a14054c [svn r57754] * introduce py.test.collect.File (File for py or non-py files)
* introduce py.test.collect.Collector.collect_by_name and
  special case it for Directories to allow specifying
  files that would otherwise be ignored because of filters.
* fix py/doc/conftest to work with new API
* refactor py/doc/test_conftest.py to use suptest helper
* avoid old APIs in some more places.

--HG--
branch : trunk
2008-09-02 14:24:15 +02:00
hpk 494ea31042 [svn r57744] Merging collection-API refactoring branch:
* collectors now have a collect() method
* items have a runtest() method
* deprecated old run/join of collectors and
  run/execute methods of items

--HG--
branch : trunk
2008-09-02 10:58:14 +02:00
hpk 861ff88484 [svn r57595] i've heart somewhere that running tests before checking in is a good idea (aka bah!)
--HG--
branch : trunk
2008-08-22 23:15:56 +02:00
hpk a6f1e3d82f [svn r57591] flush true by default
--HG--
branch : trunk
2008-08-22 19:07:04 +02:00
hpk 7adfbfa166 [svn r57565] also introduce config.maketrace(name, flush=False) which
returns either a nulltracer or opens a log in the tracedir
and returns an object that you can call with args to print
into the file.

--HG--
branch : trunk
2008-08-21 19:39:34 +02:00
hpk bf42c88e48 [svn r57564] adding an option for setting a tracedirectory so that components can write log files,
depending on what they get from config.gettracedir()

--HG--
branch : trunk
2008-08-21 19:25:48 +02:00
hpk 89cdf3b8a4 [svn r57558] should have come with 57557 - extend "acceptance" test machinery.
--HG--
branch : trunk
2008-08-21 16:26:27 +02:00
hpk 39c06d2f6e [svn r57455] fixing for changed output
--HG--
branch : trunk
2008-08-19 07:58:44 +02:00
hpk a20731b111 [svn r57440] various fixes for python2.6
--HG--
branch : trunk
2008-08-18 19:33:31 +02:00
hpk abc8cf09aa [svn r57321] merging the event branch:
* moving in test, misc, code, io directories and
  py/__init__.py
* py/bin/_find.py does not print to stderr anymore
* a few fixes to conftest files in other dirs
some more fixes and adjustments pending

--HG--
branch : trunk
2008-08-16 17:26:59 +02:00
hpk 7428eadf7d [svn r57320] remove test, misc, doc, io, and code directories
that are to come from the event branch with the next commit.

--HG--
branch : trunk
2008-08-16 17:10:17 +02:00
hpk d4c3b3ce85 [svn r56285] sanitize doctesting a bit. this also fixes the problem that you could not have "import" working in doctests previously. thanks nshepperd.
--HG--
branch : trunk
2008-07-04 09:14:36 +02:00
hpk cb53ad6010 [svn r56284] removing unadvertised new names and adjusting the test
to show how you can put custom messages otherwise.

--HG--
branch : trunk
2008-07-04 08:51:51 +02:00
fijal 4fce886def [svn r54623] A test for 54622
Fix for running tests

--HG--
branch : trunk
2008-05-10 15:55:22 +02:00
hpk f2b0bd10e6 [svn r51034] merging in fijal's reporter-merge branch into the trunk,
still needs refactoring as far as i am concernced.

--HG--
branch : trunk
2008-01-25 16:54:04 +01:00
fijal b97ff86b0f [svn r47584] Implement very sophisticated algorith for -k TestClass.test to work
--HG--
branch : trunk
2007-10-19 15:46:10 +02:00
fijal 28c5aae67d [svn r46011] Branch merge of session cleanups.
* killed _tryiter usage in rsession
* moved reporter one level up, so it can be reused later for normal session
* a lot of small simplifications

--HG--
branch : trunk
2007-08-27 11:02:50 +02:00
fijal 773848823d [svn r45648] Add possibility to specify reason for skips
--HG--
branch : trunk
2007-08-14 11:48:15 +02:00
xoraxax 8f733a426f [svn r42215] Copy with SVN history and restore test.
--HG--
branch : trunk
2007-04-20 18:40:39 +02:00
fijal 50d77c64c0 [svn r41860] * kill start_on
* add keyword_oneshot flag, which indicates that -k is only one shot
  than all tests are run
* simplify code a bit

--HG--
branch : trunk
2007-04-03 19:28:04 +02:00
fijal d8e5e63235 [svn r41855] Add a bit hackish option which allows to start from selected
keyword test, doesn't work with rsession yet.

--HG--
branch : trunk
2007-04-03 17:23:00 +02:00
arigo 5506b03f81 [svn r40702] (pedronis, arigo)
Add setup/teardown calls around generators, with the same semantics as
around functions and methods.

--HG--
branch : trunk
2007-03-18 16:59:45 +01:00
hpk 3ab95e5672 [svn r38747] hum, a last-minute namespace change: i missed
that fijal didn't move py.test.Item|Function to the py.test.collect namespace
at the time.  a pypy fix will follow shortly after i merged the dist.

--HG--
branch : trunk
2007-02-13 20:21:53 +01:00
hpk a43ff3108f [svn r38568] improving r38560 a bit
--HG--
branch : trunk
2007-02-12 15:58:14 +01:00
fijal 6294a4b189 [svn r38560] Compare collectors by id rather than by name. It needs to be rethought
a bit.

--HG--
branch : trunk
2007-02-12 14:20:49 +01:00
hpk d1008d3752 [svn r38549] also privatizing Config.initdirect (which relates to remote reprs and such)
--HG--
branch : trunk
2007-02-12 13:21:16 +01:00
hpk 5d36fbf365 [svn r38548] carefully privatizing Config.make_repr and Config.merge_repr
by doing a whole-pylib replace and reviewing the diff in detail

--HG--
branch : trunk
2007-02-12 13:18:23 +01:00
hpk ff9df3c079 [svn r38506] config.getvalue_pathlist should also honour option values
(to be uniform with getvalue semantics)

--HG--
branch : trunk
2007-02-11 19:47:04 +01:00
hpk bda58e9862 [svn r38484] make config.option override any conftest provided value.
--HG--
branch : trunk
2007-02-11 18:08:13 +01:00
hpk 5c000e57f1 [svn r38474] make io capturing configurable per e.g.
conf_iocapture = "sys"

by default it has "fd" for performing fd-based capturing

--HG--
branch : trunk
2007-02-11 17:25:01 +01:00
hpk 22d98ac3a1 [svn r38460] removing a very-likely-obsolete test
and otherwise fixing files and tests
to do py.test.skip()s only during setup.

--HG--
branch : trunk
2007-02-11 14:46:46 +01:00
hpk ab6dded07a [svn r38207] revert 38182 and 38184 changes to ensuretemp()
because getpid() is different per thread
(and if e.g. run via execnet in threads ...
it creates new tempdirectories all the time)
let's consider this sometime else

--HG--
branch : trunk
2007-02-08 21:31:50 +01:00
guido e89d5e5880 [svn r38182] Made that ensuretemp() creates a new dir after forks.
--HG--
branch : trunk
2007-02-08 18:25:32 +01:00
hpk 938680d50f [svn r38125] run unboxed by default, split/improve tests for it
--HG--
branch : trunk
2007-02-07 22:56:14 +01:00
hpk d791086561 [svn r38106] making tests independent of --dist implications
--HG--
branch : trunk
2007-02-07 20:16:28 +01:00
fijal 5b188f1167 [svn r38103] Hum. This test was just broken. Fix it and add additional checks.
--HG--
branch : trunk
2007-02-07 20:02:21 +01:00
fijal c5df4c335c [svn r38102] Skip this test not to interfere with py.test.config.boxed
--HG--
branch : trunk
2007-02-07 19:56:48 +01:00
hpk 77b8a010c5 [svn r38097] streamline boxed test configuration:
"config.option.boxed"  indicates now boxed tests
and RSession.fixoptions takes care to honour
dist_boxed accordingly.  So you can do

    if not py.test.config.boxed:
        py.test.skip(...)

i also fixed the documentation.

--HG--
branch : trunk
2007-02-07 19:43:23 +01:00
hpk 07ee2bc39e [svn r38083] saner tempdir using
--HG--
branch : trunk
2007-02-07 18:58:47 +01:00
hpk f2b38db33a [svn r37908] fixing test
--HG--
branch : trunk
2007-02-04 14:54:10 +01:00
hpk 41526ad622 [svn r37898] provide a high-level helper for getting
at a pathlist specified in a conftest (and
the paths can be relative to the conftest.py file they
are contained in)

--HG--
branch : trunk
2007-02-04 13:29:26 +01:00
fijal e88a6c5fc3 [svn r37879] s/tryiter/_tryiter/
--HG--
branch : trunk
2007-02-03 19:44:34 +01:00
fijal 1dca2498fb [svn r37877] Intermediate checkin for some privatising of attributes
--HG--
branch : trunk
2007-02-03 19:29:24 +01:00
fijal 9b62f2290c [svn r37862] Move Skipped/Failed/Passed out of public namespace
--HG--
branch : trunk
2007-02-03 13:14:46 +01:00
hpk b706ec2f95 [svn r37741] monster checking for
* unifying IO capturing methods
* py.io.StdCapture and py.io.StdCaptureFD
  (and both have a classmethod 'call' that is
  a shortcut for capturing output while
  executing a function)
* removing lots of duplicate code
* providing some examples in py/doc/io.txt

at least tests on win32 and linux seem
to pass all for me.

--HG--
branch : trunk
2007-02-01 16:20:39 +01:00
hpk f915de1992 [svn r37696] removing py.test.compat.TestCase - it's small
code but nobody uses it i think and there is
no documentation.

--HG--
branch : trunk
2007-01-31 22:55:30 +01:00
hpk e96e4f61c7 [svn r37598] removing broken tkinter session support ahead of the
0.9 release (might be re-introduced later)

--HG--
branch : trunk
2007-01-30 15:02:28 +01:00
fijal acfbbcb7ff [svn r37533] Make distribution working with custom conftests at exact levels. This
is very explicit - dist_rsyncroots works only in that conftest directory.

--HG--
branch : trunk
2007-01-29 14:06:19 +01:00
hpk 216919d612 [svn r37501] rename for clarity
--HG--
branch : trunk
2007-01-28 21:37:30 +01:00
hpk 20222ec57b [svn r37500] postponing generalizing of host specifications for 0.9
--HG--
branch : trunk
2007-01-28 21:25:48 +01:00
hpk df3448c6f9 [svn r37494] the start of factoring out common and unified
host handling within py.test

--HG--
branch : trunk
2007-01-28 18:53:43 +01:00
hpk 1d3519bfe0 [svn r37465] * all Sessions now have fixoptions()
* added some tests for implied and conflicting options
* make all Session objects inherit from the base session
* small cleanups with respect to test setup
* separate tests a bit

--HG--
branch : trunk
2007-01-28 14:25:03 +01:00
hpk 181f6cde23 [svn r37447] config._reparse() from current dir can drag in conftest.py
files (happened to me because i had two py lib checkouts)

--HG--
branch : trunk
2007-01-27 20:24:41 +01:00
fijal f1b4e14f09 [svn r37433] Add a helper which returns value + path of a dir where value was found
--HG--
branch : trunk
2007-01-27 15:01:45 +01:00
guido 987ae8e943 [svn r37326] Fixed exec command on win32
--HG--
branch : trunk
2007-01-25 13:56:12 +01:00
hpk c0535c70ad [svn r37290] * allow only CAPITAL letters for short options
* documentation and test for it
* streamlined documentation a bit

--HG--
branch : trunk
2007-01-24 20:18:46 +01:00
hpk 7cf9824680 [svn r37278] move files from branch to trunk (and thus complete
the merge of the config branch into the trunk)

--HG--
branch : trunk
2007-01-24 17:46:46 +01:00
hpk 5992a8ef21 [svn r37264] create the new development trunk
--HG--
branch : trunk
2007-01-24 15:24:01 +01:00