Commit Graph

98 Commits

Author SHA1 Message Date
Mike Bayer f2028dc5af - further changes to avoid pytest warnings
Change-Id: Ia83a996ff97a6ba54a0666a32241e570f3852ab4
2017-01-17 15:51:02 -05:00
Mark Sandan 42078107f1 update pytest good practices link in PyTest class
Change-Id: Ie96edd05e962663e9ddeeda85b24858caabd3bfd
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/262
2016-06-16 11:51:53 -04:00
Mike Bayer 6b05150392 - add a new qualifier "native" vs. "dbapi" unicode to avoid
profiling problems here
- add extras_require to setup.py for the most common DBAPIs
- rework tox.ini to use extras, specify a test matrix built in
2016-01-24 18:28:09 -05:00
Donald Stufft 39517d1046 Tell Wheel to generate platform and interpreter specific wheels
By telling wheel that we have extension modules, even though we
have none, wheel will create a Wheel which is platform and
interpreter specific. This will ensure that the pure Python wheels
on PyPy do not trigger installs on CPython without the C speedups.
2015-08-13 14:57:53 -04:00
Mike Bayer 44420423de - we can again use setuptools.find_packages since we require setuptools
- clean up other things we aren't using anymore
2015-08-13 14:48:18 -04:00
Mike Bayer 5ab9ab7940 - remove "distutils-only" mode, use setuptools only
- add first-class "pytest" runner to setup.py, fixes #3489
- remove references to setuptools Feature and mark that "--without-cextensions"
 is removed, fixes #3500
2015-07-24 18:52:25 -04:00
Mike Bayer 9554759642 - have python setup.py test use xdist with -q 2014-08-08 13:51:58 -04:00
Brian Jarrett 304e5b2a11 fixed style to conform to PEP8 2014-07-10 16:28:49 -06:00
Mike Bayer 99350b159f - Fixed bug where "python setup.py test" wasn't calling into
distutils appropriately, and errors would be emitted at the end
of the test suite.
2014-07-09 15:50:17 -04:00
Mike Bayer 56ef17e0f7 - we aren't supporting py2.5 so just simplify this import for platform, re: #2986 2014-03-22 17:49:35 -04:00
Mike Bayer ec97911ed9 - Adjusted `setup.py` file to support the possible future
removal of the ``setuptools.Feature`` extension from setuptools.
If this keyword isn't present, the setup will still succeed
with setuptools rather than falling back to distutils.  C extension
building can be disabled now also by setting the
DISABLE_SQLALCHEMY_CEXT environment variable.  This variable works
whether or not setuptools is even available. fixes #2986
- using platform.python_implementation() in setup.py to detect CPython.
I've tested this function on OSX and linux on Python 2.6 through 3.4,
including 3.1, 3.2, 3.3.
Unfortunately, on OSX + 3.2 only, it seems to segfault.  I've tried
installing 3.2.5 from the python.org .dmg, building it from source,
and also blew away the whole 3.2 directory, something seems to be wrong
with the "platform" module on that platform only, and there's also no
issue on bugs.python.org; however, I'm going with
it anyway. If someone is using 3.2 on OSX they really should be upgrading.
2014-03-22 17:31:50 -04:00
Mike Bayer ea05a23218 - Support has been added for pytest to run tests. This runner
is currently being supported in addition to nose, and will likely
be preferred to nose going forward.   The nose plugin system used
by SQLAlchemy has been split out so that it works under pytest as
well.  There are no plans to drop support for nose at the moment
and we hope that the test suite itself can continue to remain as
agnostic of testing platform as possible.  See the file
README.unittests.rst for updated information on running tests
with pytest.

The test plugin system has also been enhanced to support running
tests against mutiple database URLs at once, by specifying the ``--db``
and/or ``--dburi`` flags multiple times.  This does not run the entire test
suite for each database, but instead allows test cases that are specific
to certain backends make use of that backend as the test is run.
When using pytest as the test runner, the system will also run
specific test suites multiple times, once for each database, particularly
those tests within the "dialect suite".   The plan is that the enhanced
system will also be used by Alembic, and allow Alembic to run
migration operation tests against multiple backends in one run, including
third-party backends not included within Alembic itself.
Third party dialects and extensions are also encouraged to standardize
on SQLAlchemy's test suite as a basis; see the file README.dialects.rst
for background on building out from SQLAlchemy's test platform.
2014-03-03 15:55:17 -05:00
Mike Bayer a6adc0a53e - The C extensions are ported to Python 3 and will build under
any supported CPython 2 or 3 environment. [ticket:2161]
2013-07-26 20:50:18 -04:00
Mike Bayer b38a76cd1d - replace most explicitly-named test objects called "Mock..." with
actual mock objects from the mock library.  I'd like to use mock
for new tests so we might as well use it in obvious places.
- use unittest.mock in py3.3
- changelog
- add a note to README.unittests
- add tests_require in setup.py
- have tests import from sqlalchemy.testing.mock
- apply usage of mock to one of the event tests.  we can be using
this approach all over the place.
2013-06-30 18:35:12 -04:00
Mike Bayer a5c9907d40 don't need 2to3 2013-04-28 15:01:26 -04:00
Mike Bayer 17790c9896 - revert mistaken checkin 2013-02-06 15:00:44 -05:00
Mike Bayer d21f4d8925 - need autoincrement here 2013-02-06 12:52:37 -05:00
Mike Bayer 04e126dd49 - revert the "basedir" thing - running setup.py from the currdir is unfortunately part of the
distutils docs (http://docs.python.org/install/index.html#platform-variations)
2012-09-29 13:21:15 -04:00
Mike Bayer 00e29c4cc6 - enhance setup.py to support being run from outside the current directory. hopefully there's no
gotchas with this on other platforms.
2012-09-29 13:08:07 -04:00
Mike Bayer 819ec8e13f - add new C extension "utils", so far includes distill_params
- repair test_processors which wasn't hitting the python functions
- add another suite to test_processors that does distill_params
2012-08-07 15:23:11 -04:00
Mike Bayer 27913554a8 trailing whitespace bonanza 2012-07-28 15:50:05 -04:00
Philip Jenvey 4d43079e34 unmonkeypatch the 2to3 preprocessor so we don't disturb subsequent runs
patch from mcdonc
fixes #2421
2012-03-02 00:21:18 -08:00
Mike Bayer 6d333bc5a8 modernize the README 2012-01-26 11:44:34 -05:00
Mike Bayer d628967ad2 add supported implementations 2011-12-03 12:39:41 -05:00
Mike Bayer dc75e0c683 - Added a workaround for Python bug 7511 where
failure of C extension build does not
raise an appropriate exception on Windows 64
bit + VC express [ticket:2184]
2011-06-05 11:58:26 -04:00
Mike Bayer 6d14c69edc this will also move back to prod/stable 2011-05-20 15:15:03 -04:00
Philip Jenvey 8b8fb2902b might as well explicitly disable the cext on Jython too 2011-04-22 19:38:39 -07:00
Mike Bayer fcded554df - rework setup.py script to work with:
- Python 3
   - Python 3 builds if Distribute isn't installed
- rework install documentation again
- raise if doc build with mako < 0.4.1
- Python 3.1 builds force doctest parse but then fails due to distribute bug,
  so remove usage of backslash \\ in hybrid.py docstring
- put in the latest ez_setup.py
2011-04-17 13:22:33 -04:00
Philip Jenvey e6fd32e173 explicitly disable the cextension on Python 3 until it's updated for it 2011-04-13 18:45:58 -07:00
Philip Jenvey a2094b1b6f enable the cextension by default, falling back to pure python when the
extension fails to compile
fixes #2129
2011-04-13 18:32:15 -07:00
Philip Jenvey 74f2e214c4 minor cleanup 2011-04-13 16:33:25 -07:00
Mike Bayer 6cd59ee663 0.7 will be beta classifier to start 2011-02-12 17:14:34 -05:00
Mike Bayer 350aed3fdb - whitespace removal bonanza 2011-01-02 14:23:42 -05:00
Mike Bayer 39fddb8bda - set sqla_nose as the setup.py test runner - works ! 2010-11-16 13:33:48 -05:00
Mike Bayer 756aa2724e first step of [ticket:1949], remove the setuptools aspect
of the plugin, move it to test/bootstrap
2010-11-15 19:25:34 -05:00
Mike Bayer 976df5bf96 - the NoseSQLAlchemyPlugin has been moved to a
new package "sqlalchemy_nose" which installs
along with "sqlalchemy".  This so that the "nosetests"
script works as always but also allows the
--with-coverage option to turn on coverage before
SQLAlchemy modules are imported, allowing coverage
to work correctly.
- added some new ignores
2010-10-17 15:23:14 -04:00
Mike Bayer b609030130 hey lets pep-8 the setup.py file. 2010-09-15 22:30:31 -04:00
Mike Bayer 085cb74edf merge 2010-04-23 00:33:50 -04:00
Mike Bayer 8877309664 prod/stable 2010-04-23 00:33:20 -04:00
Mike Bayer f9313e4dcf yikes, no more svn version here... 2010-04-20 12:28:54 -04:00
Mike Bayer 4bac9453e2 the mercurial extension seems to not work in py3k and also I don't
like its usage during build/install.   going with the manual approach
for the moment.
2010-03-07 20:56:32 -05:00
Mike Bayer 3ef21da0ac use setuptools_hg to auto-discover the same way we did with SVN.
Thanks *much* to Jannis Leidel for the suggestion/creation !
2010-03-07 19:29:39 -05:00
Mike Bayer b6caca941c use a flag to build cextensions (thanks again to Genshi for the tip) 2010-03-05 15:33:21 +00:00
Mike Bayer b25e1846e3 require nose .11 to support first_package_wins flag 2010-03-01 22:03:10 +00:00
Mike Bayer 1005251437 add a note 2010-02-14 18:40:51 +00:00
Gaëtan de Menten 165609a190 - Added an optional C extension to speed up the sql layer by
reimplementing the highest impact functions.
  The actual speedups will depend heavily on your DBAPI and
  the mix of datatypes used in your tables, and can vary from
  a 50% improvement to more than 200%. It also provides a modest
  (~20%) indirect improvement to ORM speed for large queries.
  Note that it is *not* built/installed by default.
  See README for installation instructions.

- The most common result processors conversion function were
  moved to the new "processors" module.  Dialect authors are
  encouraged to use those functions whenever they correspond
  to their needs instead of implementing custom ones.
2010-02-13 22:53:39 +00:00
Mike Bayer 7dcfccb3b0 - Improved the installation/test setup regarding Python 3,
now that Distribute runs on Py3k.   distribute_setup.py
is now included.  See README.py3k for Python 3 installation/
testing instructions.
2010-02-13 01:42:52 +00:00
Mike Bayer 98f80d6ce9 - added py3k and "OS Independent" classifiers 2009-11-01 20:48:03 +00:00
Mike Bayer 8fc5005dfe merge 0.6 series to trunk. 2009-08-06 21:11:27 +00:00
Mike Bayer 45cec095b4 - unit tests have been migrated from unittest to nose.
See README.unittests for information on how to run
the tests.  [ticket:970]
2009-06-10 21:18:24 +00:00