aboutsummaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2011-01-18 15:14:48 +0100
committerholger krekel <holger@merlinux.eu>2011-01-18 15:14:48 +0100
commitcfd20fa93682e779279647cbe39bec0b472789f2 (patch)
tree67bf144ed7019e666716a92890a2ff17aea20a7c /py
parentmake conftest.option available after the test session is configured (diff)
downloadpypy-cfd20fa93682e779279647cbe39bec0b472789f2.tar.gz
pypy-cfd20fa93682e779279647cbe39bec0b472789f2.tar.bz2
pypy-cfd20fa93682e779279647cbe39bec0b472789f2.zip
for now re-add some helping scripts used from pypy buildbot invocations
Diffstat (limited to 'py')
-rw-r--r--py/bin/_findpy.py37
-rwxr-xr-xpy/bin/py.test18
2 files changed, 55 insertions, 0 deletions
diff --git a/py/bin/_findpy.py b/py/bin/_findpy.py
new file mode 100644
index 0000000000..c0c64581e0
--- /dev/null
+++ b/py/bin/_findpy.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+#
+# find and import a version of 'py'
+#
+import sys
+import os
+from os.path import dirname as opd, exists, join, basename, abspath
+
+def searchpy(current):
+ while 1:
+ last = current
+ initpy = join(current, '__init__.py')
+ if not exists(initpy):
+ pydir = join(current, 'py')
+ # recognize py-package and ensure it is importable
+ if exists(pydir) and exists(join(pydir, '__init__.py')):
+ #for p in sys.path:
+ # if p == current:
+ # return True
+ if current != sys.path[0]: # if we are already first, then ok
+ sys.stderr.write("inserting into sys.path: %s\n" % current)
+ sys.path.insert(0, current)
+ return True
+ current = opd(current)
+ if last == current:
+ return False
+
+if not searchpy(abspath(os.curdir)):
+ if not searchpy(opd(abspath(sys.argv[0]))):
+ if not searchpy(opd(__file__)):
+ pass # let's hope it is just on sys.path
+
+import py
+
+if __name__ == '__main__':
+ print ("py lib is at %s" % py.__file__)
diff --git a/py/bin/py.test b/py/bin/py.test
new file mode 100755
index 0000000000..ba0e05dcd6
--- /dev/null
+++ b/py/bin/py.test
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+
+# XXX integrate into pypy/test_all.py
+# somewhat PYPY specific hack:
+# let's make sure setuptools does show a warning when our inlined 'py'
+# version shadows a properly installed one.
+import warnings
+warnings.filterwarnings("ignore",
+ "Module py was already imported", category=UserWarning)
+warnings.filterwarnings("ignore",
+ "Module _pytest was already imported",
+ category=UserWarning)
+warnings.filterwarnings("ignore",
+ "Module pytest was already imported",
+ category=UserWarning)
+from _findpy import py
+import pytest
+pytest.main()