Commit Graph

1380 Commits

Author SHA1 Message Date
holger krekel ae63605ac0 generalize hook calling from collection nodes but stop short
of allowing general hooks in python test modules. It'd be
easily possible (a 1-line change) but considering it i refrained
from it because the collector API is a bit too low level.

pytest_generate_tests and funcarg factories have a limited
directly useful interface and are thus less confusing - those
are taking advantage of hook discovery in python test modules.

--HG--
branch : trunk
2009-12-30 10:42:01 +01:00
holger krekel 631dfe9f13 only consider matching conftest plugins for discovering hooks related to collection nodes.
--HG--
branch : trunk
2009-12-30 02:36:58 +01:00
holger krekel 9d01975c78 fix capturing to be more careful during teardown when a setup never happened (due to e.g. an error in user-provided runtest_setup code)
--HG--
branch : trunk
2009-12-30 00:11:27 +01:00
holger krekel 77b640d1b7 streamline some tests and overall reduce py.test.ensuretemp usage, note down issue about deprecation .
--HG--
branch : trunk
2009-12-29 22:26:03 +01:00
holger krekel c348cec481 make looponfailing a bit more robust against relative imports and changed directories - needs more work, probably.
--HG--
branch : trunk
2009-12-29 18:41:24 +01:00
holger krekel 79af98fc29 some testing hygene: move _reparse testing functionality to actual test support code, un-xfail a now passing test, reduce direct py.test.config usage aiming for deprecation.
--HG--
branch : trunk
2009-12-29 18:02:54 +01:00
holger krekel db21cac694 cleanup py.test.* namespace, docstrings for improved pydoc and interactive usage.
use new apipkg __onfirstaccess__ feature to initialize the py.test namespace with the default plugins.  This, besides other good implications, means that you can now type:  pydoc py.test   or help(py.test)

--HG--
branch : trunk
2009-12-29 16:29:48 +01:00
holger krekel 080fd2880e simplify Config initialization
--HG--
branch : trunk
2009-12-29 14:13:12 +01:00
holger krekel 71e332c9c4 robustiy some randomly failing tests
--HG--
branch : trunk
2009-12-29 12:36:45 +01:00
holger krekel 425e4849f3 remove/reduce internal global state: py._com.registry is now fully contained and always instantiated from the py.test PluginManager class.
--HG--
branch : trunk
2009-12-29 12:36:17 +01:00
holger krekel 8737254a74 simplify pluginmanager, move plugin validation code to plugin, remove unused code
--HG--
branch : trunk
2009-12-29 10:59:01 +01:00
holger krekel 0361b73d75 remove defaultconfest.py and make PluginManager directly do early initialization of default plugins.
--HG--
branch : trunk
2009-12-29 10:26:51 +01:00
holger krekel 27bcd2dbda always import defaultconftest by python import path. strike some redundant code.
--HG--
branch : trunk
2009-12-28 17:49:46 +01:00
Ralf Schmitt cc82f1601c add script to generate standalone py.test
--HG--
branch : trunk
2009-12-27 23:03:04 +01:00
holger krekel 516cee2a94 windows fixes and print funcargs for keyboardinterrupt traces
--HG--
branch : trunk
2009-12-25 09:53:36 +01:00
holger krekel 88e61467f1 fixing and cleaning up some tests
--HG--
branch : trunk
2009-12-25 00:24:58 +01:00
holger krekel 6d46efa87a introduce --ignore option to ignore paths during collection
--HG--
branch : trunk
2009-12-24 22:23:45 +01:00
holger krekel f254b6f7c1 fixes to various tests, related to execnet automatic ID generation and other bits.
also lowering the version as "1.1.1post1" for now.  1.1.2 is still a bit off.

--HG--
branch : trunk
2009-12-24 19:43:14 +01:00
holger krekel 1580b2c8da create version/interpreter differentiated py.test$VER for cpython, jython, pypy-c's, prepare 1.1.2 release
--HG--
branch : trunk
2009-12-23 19:58:52 +01:00
holger krekel 2ca39443a3 some doc fixes
--HG--
branch : trunk
2009-12-17 09:33:41 +01:00
holger krekel 56c1391a16 fix keyword calling
--HG--
branch : trunk
2009-11-27 20:32:21 +01:00
holger krekel 9d5b313aad adjustments and fixes to test run, distribution files. thanks thm.
--HG--
branch : trunk
2009-11-24 15:16:58 +01:00
holger krekel 8c6593cc08 by default flush log writes to files
--HG--
branch : trunk
2009-11-24 02:48:13 -08:00
holger krekel 9652be0ac1 don't consider setuptools plugins if it is not installed.
--HG--
branch : trunk
2009-11-24 10:49:04 +01:00
holger krekel 79a9a99d1e small refinements/precision regarding execnet checks
--HG--
branch : trunk
2009-11-23 17:25:46 +01:00
holger krekel ed03eef81b introduce plugin discovery through setuptools "pytest11" entrypoints
and refine execnet dependency handling.  Prepare 1.1 release

--HG--
branch : trunk
2009-11-23 17:20:36 +01:00
holger krekel ecb19b751a add % as allowed char, condense CHANGELOG
--HG--
branch : trunk
2009-11-20 09:19:29 +01:00
holger krekel d1dcf0fa92 be a bit more helpful by default regarding --report settings
--HG--
branch : trunk
2009-11-20 09:11:04 +01:00
holger krekel 452ce50d7d fix compatibility issue with svnwc.update and put CHANGELOG to rootlevel
--HG--
branch : trunk
2009-11-20 00:12:06 +01:00
holger krekel 6d9e3ac686 adapt to new execnet.Group code (since execnet-1.0.0b4), strike superflous code
--HG--
branch : trunk
2009-11-19 23:13:29 +01:00
holger krekel 3adf6687c9 reintroduce py.test.cmdline.main() (alias for py.cmdline.pytest())
resolves issue #61

--HG--
branch : trunk
2009-11-19 23:13:28 +01:00
holger krekel 1a86d09da4 a few internal test related fixes as to run on a osx/no-execnet situation
--HG--
branch : trunk
2009-11-12 21:15:59 +01:00
holger krekel f4ec2d1ecd improve deprecation, start changelog
--HG--
branch : trunk
2009-11-12 13:10:30 +01:00
holger krekel a4a652af85 fix a bug with svnwc.listdir() not accepting a checker(versioned=...)
--HG--
branch : trunk
2009-11-12 13:09:27 +01:00
holger krekel e0bca8fe51 fix up install docs and plugin docs for the final release
have CHANGELOG be a file containing links instead of a symlink
beause it causes issues with pip-install on some systems.

--HG--
branch : trunk
2009-11-05 17:46:14 +01:00
holger krekel a5a94c4e8f largely improve and reshuffle docs, heading strongly towards a 1.1.0
--HG--
branch : trunk
2009-11-05 03:18:55 +01:00
holger krekel b04a04cabd make py lib a self-contained directory again
- move and merge _py/ bits back to py/
- fixes all around

--HG--
branch : trunk
2009-11-04 21:34:07 +01:00
holger krekel 92d482069c moving py/bin to rootlevel bin/ and fixing tests
--HG--
branch : trunk
2009-10-29 16:53:02 +01:00
holger krekel cc15685015 remove pyrest and _py/rest before first 1.1. release
--HG--
branch : trunk
2009-10-29 12:25:47 +01:00
holger krekel 690ccaedc1 remove unnecessary builtin directory in favour of a single file
--HG--
branch : trunk
2009-10-28 22:00:38 +01:00
holger krekel 33bd39053f using apipkg 1.0b2 snapshot version - adjusting/cleaning up some impl-detail accesses
--HG--
branch : trunk
2009-10-27 21:31:42 +01:00
holger krekel d8b9b5f1c8 - make importorskip static at py.test.importorskip because it's
used for conditional plugin loading
- fix case where xfail is defined at module/class level
- fixes and improvements to docs, correct links to plugins
- use new skip facilities here and there

--HG--
branch : trunk
2009-10-15 20:10:06 +02:00
holger krekel 3ca770b420 generalize skipping
- rename pytest_xfail to pytest_skip
- dynamic "skipif" and "xfail" decorators
- move most skipping code to the plugin

also coming with this commit:
- extend mark keyword to accept positional args + docs
- fix a few documentation related issues
- leave version as "trunk" for now

--HG--
branch : trunk
2009-10-15 16:18:57 +02:00
holger krekel 5791c06bf2 rewrote the initpkg mechanism and moved py lib implementation files to
_py/...  with py/__init__.py containing pointers into them

The new apipkg is only around 70 lines of code and allows
us to get rid of the infamous "py.__." by regular non-magical
"_py." imports. It is also available as a separately installable
package, see http://bitbucket.org/hpk42/apipkg

--HG--
branch : trunk
2009-10-03 01:47:39 +02:00
holger krekel db1ff48996 * use the MIT license for the py lib
* bump version to prospective 1.1.0b1
* strike some unused code from initpkg

--HG--
branch : trunk
2009-10-03 01:11:04 +02:00
holger krekel 1f29529a24 * don't add distributed command line options when 'execnet' is not
installed, report a nice message.

* fix tests and code to work with non-existing execnet

* point execnet doc to the new package

--HG--
branch : trunk
2009-10-02 22:29:22 +02:00
holger krekel ab9f6a75ad remove py.execnet, substitute py.execnet usages with "execnet" ones.
--HG--
branch : trunk
2009-10-02 16:58:57 +02:00
holger krekel 496e3b1138 adding internal repr for debugging
adding an example for generating multi-args/multi python tests

--HG--
branch : trunk
2009-09-30 18:36:04 +02:00
holger krekel 5914277f92 internally rename "provider" to "factory" to be consistent
with documentation.

--HG--
branch : trunk
2009-09-30 12:59:47 +02:00
holger krekel 98b2300266 fix cached_setup to deal properly for test_functions
with multiple args.  closes #50

--HG--
branch : trunk
2009-09-30 12:52:40 +02:00
Benjamin Peterson 3d2975f38e support floats
--HG--
branch : trunk
2009-09-26 18:26:32 -05:00
Benjamin Peterson c3fd7f0247 don't need to import py
--HG--
branch : trunk
2009-09-26 14:22:01 -05:00
Benjamin Peterson cb5bd868d9 use default argument
--HG--
branch : trunk
2009-09-26 14:21:36 -05:00
Benjamin Peterson 0f96be372d clean up unused compatibility code
--HG--
branch : trunk
2009-09-26 14:20:36 -05:00
Benjamin Peterson 4d598370b4 test cross version serialization by launching subprocesses; much cleaner!
--HG--
branch : trunk
2009-09-26 12:35:24 -05:00
holger krekel 8f69d23f18 merging jarko'S fixes, resolves issue #45, resolves issue #46
--HG--
branch : trunk
2009-09-23 19:43:43 +02:00
Benjamin Peterson 1e71a5c392 Add a simple (hopefully) cross-python marshaller
Will rewrite the tests soon...

--HG--
branch : trunk
2009-09-22 21:08:40 -05:00
Benjamin Peterson b3ca12d435 update docstring
--HG--
branch : trunk
2009-09-22 21:07:50 -05:00
Benjamin Peterson 8af3ede092 allow a path to explicity given for py.lookup
--HG--
branch : trunk
2009-09-22 21:04:25 -05:00
holger krekel 6ddea4a1bc visit() now returns paths in depth-first order. fixes issue #47
--HG--
branch : trunk
2009-09-22 19:13:33 +02:00
holger krekel e3b34c9da3 * allowing arbitrary keys for xspecs but adding some sanity checks to xspec-parsing and makegateway.
* fixing a python3 IO issue - we need to retain sys.stdout/stdin
  references to keep the underlying byte stream open.

--HG--
branch : trunk
2009-09-22 18:40:20 +02:00
Samuele Pedroni 1b97d06a09 (micke, pedronis)
teach the resultlog plugin about the xfail tweaked outcomes

--HG--
branch : trunk
2009-09-17 15:31:35 +02:00
Jurko 9fd1367845 Corrected the constructed system path value (broken by the env.cmd, env.sh & env.py file move in 4abc620bb044).
--HG--
branch : trunk
2009-09-12 00:35:57 +02:00
Jurko 62a4cf68e8 Fixed a typo in error.py causing it to fail on Windows.
--HG--
branch : trunk
2009-09-12 00:16:13 +02:00
holger krekel 47bad98c07 * various cleanups and detailed doc string for gateway_base module
* remove old multi-file-send mechanism/tests now that
  only gateway_base is send to the other side.
* adding some (c) notices where i am pretty sure about them.

--HG--
branch : trunk
2009-09-11 16:26:19 +02:00
holger krekel 22c1ad9f7b fix a bug with funcarg setup and remove XXX comment because "scope=module" now would work but leaving it as session for now.
--HG--
branch : trunk
2009-09-09 23:07:42 +02:00
holger krekel 5df58c619d * move gateway management code to py/test/dist because it's not clear
how generally useful it is.
* provide pytest_dist_makegateway(txspec) hook so that plugins
  can add their own interpretation/keywords.

--HG--
branch : trunk
2009-09-09 20:12:03 +02:00
holger krekel b70c7a209d * moving execnet tests to funcarg-style, some cleanup
* slight refinement to FAQ license topic

--HG--
branch : trunk
2009-09-08 10:10:36 +02:00
holger krekel 0f29b503ef monkeypatch, doc, apiwarn, deprecation fixes
--HG--
branch : trunk
2009-09-07 17:53:50 +02:00
holger krekel 29d437489d some fixes to support Jython better
--HG--
branch : trunk
2009-09-07 14:59:26 +02:00
holger krekel c8119d89b6 move test files out of py lib proper
* separate all tests from plugins
* simplify implicit inclusion of plugins under test
* have test_initpkg perform direct checks instead of yielding tests
* fix example tests for 3k

--HG--
branch : trunk
2009-09-06 16:59:39 +02:00
holger krekel 5cf27098cf execnet cleanup/refinements: avoid creating a shell for each subprocess
* introduce HostNotFound, raised for Socket and SshGateways
* factored out basic tests, cleaned up existing tests
* removed sshgateway identity argument which was deprecated in 1.0

--HG--
branch : trunk
2009-09-06 13:38:21 +02:00
holger krekel 734a40eb28 seems like compile is way slower than just parser.suite so
we try to see if it's available (only jython doesn't have it)

--HG--
branch : trunk
2009-09-06 12:35:52 +02:00
holger krekel 518194537e * refactor some setup/teardown/ensuretemp usages to use funcargs
* introduce monkeypatch.syspath_prepend for safe monkey patching of module import path
* fix monkeypatch naming

--HG--
branch : trunk
2009-09-05 23:21:58 +02:00
holger krekel 783c714a2c get py.test to run at least basically on top of jython
* allow and document calling of monkeypatch.undo() from a test
* default to 'sys' on platforms there no 'os.dup' is available
* use "compile" to perform "tryparsing" checks

--HG--
branch : trunk
2009-09-05 16:54:52 +02:00
holger krekel 7ab98c1b25 * delete or text files to hacking/ directory.
* split license file into authors and license file, minor fixes.
* minor unicode fixes

--HG--
branch : trunk
2009-09-05 16:09:44 +02:00
holger krekel bde56a8246 * fixing lots of remaining 3k compatibility issues, mostly with py.test itself.
* removing very old import-tests that IIRC relate to a time when there
  was a custom import hook in use.

* basically py.test internal tests pass now except py3/py2 distributed
  testing tests

--HG--
branch : trunk
2009-09-04 21:47:49 +02:00
holger krekel 1e51844519 introduce py.builtin._tryimport to try importing modules in a row, fix a few places
--HG--
branch : trunk
2009-09-04 19:08:10 +02:00
holger krekel 32e2bf7d08 make xmlgen a single file + a single file test instead of a whole directory
--HG--
branch : trunk
2009-09-04 18:30:48 +02:00
holger krekel a0d7ab2244 reviewing, refactoring, porting xml/html object/tree generation to work with 3k
--HG--
branch : trunk
2009-09-04 18:16:10 +02:00
holger krekel 6823fa634b various 3k related fixes and cleanups
removal of virtually unused py/rest/rst.py helpers

--HG--
branch : trunk
2009-09-04 18:15:41 +02:00
holger krekel 5851471009 fix remaining execnet 3k issues until all tests pass
--HG--
branch : trunk
2009-09-04 16:51:29 +02:00
holger krekel 45b98d4915 remove so-far superflous _getcode and pickle from builtins, some streamlining
--HG--
branch : trunk
2009-09-04 16:32:49 +02:00
Benjamin Peterson 99af33b26d I think this is supposed to be immutable
--HG--
branch : trunk
2009-09-03 17:14:12 -05:00
Benjamin Peterson 1c9760d123 fix xfail
--HG--
branch : trunk
2009-09-03 16:47:04 -05:00
Benjamin Peterson 86da34b874 add a helper to get a function's dictionary
--HG--
branch : trunk
2009-09-03 16:45:28 -05:00
Benjamin Peterson 499a982860 give code objects a filename in the replacement execfile
--HG--
branch : trunk
2009-09-03 16:38:15 -05:00
holger krekel c7f11745cd * fix various remaining 3k issues until test_gateway.py passes with python3 py/bin/py.test
* we now wait on gateway initialization until we got a byte back after
  we sent the bootstrap

--HG--
branch : trunk
2009-09-02 21:05:08 +02:00
holger krekel 6c3e961bc5 * simplify stdout/stderr handling and modules and for now remove support
for directly stdout/stderr directly on remote_exec

--HG--
branch : trunk
2009-09-02 19:39:24 +02:00
holger krekel 73fc2f01f2 filter out and test exception printing
--HG--
branch : trunk
2009-09-02 19:05:34 +02:00
holger krekel e30aeed876 * more tests and fixes for cross-python compatibility
* use byte-buffer files if available for io
* shift receivelock to gateway object
* kill dead code

--HG--
branch : trunk
2009-09-02 18:56:43 +02:00
holger krekel 5d2504df0a * simplify lock acquiration for received messages, review code
* try to fix seldomly occuring race condition with setcallback/receive and closing of channel

--HG--
branch : trunk
2009-09-02 15:45:59 +02:00
holger krekel f636ed8ced * make Gateway interface more asymetric: remote_* methods
and  cleanup/atexit handling now live exclusively with the "InitiatingGateway"

* fix some cross-python io related handling

--HG--
branch : trunk
2009-09-02 14:31:48 +02:00
holger krekel c1fcf9c4d8 * use py.builtin._getimself instead of getattr(..., '*self*') everywhere
* fix logging to work with 3k, implement buffering manually
* fix unicode capturing issue - re-introduce EncodedFile for <3K file writes

--HG--
branch : trunk
2009-09-01 16:10:21 +02:00
holger krekel 43b8bd7df7 * refactor gateway code and tests to live in fewer files, remove some lock usage
* move text files to a new "hacking" directory

--HG--
branch : trunk
2009-09-01 11:39:27 +02:00
holger krekel 54709bcae1 enable assertion reinterpretation on 3k
--HG--
branch : trunk
2009-08-31 20:06:55 +02:00
holger krekel c791610998 * simplify and refactor path tests to use funcargs instead of the layered xunit-setup mess
* port py/path to pass 3.11
* added py.builtin._totext, _tobytes, _isbytes, _istext helpers

--HG--
branch : trunk
2009-08-31 19:51:25 +02:00
Benjamin Peterson e336683cdb add test for conversion to string
--HG--
branch : trunk
2009-08-30 08:25:48 -05:00
Benjamin Peterson 749bfa46c4 convert argument to string
--HG--
branch : trunk
2009-08-30 08:25:40 -05:00
Ronny Pfannschmidt 318a935b89 fix module name reuse in execnet
--HG--
branch : trunk
2009-08-30 15:00:26 +02:00