[pypy-svn] pypy pytest2: for now re-add some helping scripts used from pypy buildbot invocations

hpk42 commits-noreply at bitbucket.org
Tue Jan 18 15:15:03 CET 2011


Author: holger krekel <holger at merlinux.eu>
Branch: pytest2
Changeset: r40860:41a6282a6b8a
Date: 2011-01-18 15:14 +0100
http://bitbucket.org/pypy/pypy/changeset/41a6282a6b8a/

Log:	for now re-add some helping scripts used from pypy buildbot
	invocations

diff --git a/py/bin/py.test b/py/bin/py.test
new file mode 100755
--- /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()

diff --git a/py/bin/_findpy.py b/py/bin/_findpy.py
new file mode 100644
--- /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__)


More information about the Pypy-commit mailing list