From 8b598d5b77e048c2ff82317b5b31a12c5e5adeca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Bu=CC=88nemann?= Date: Sun, 8 May 2016 04:35:08 +0200 Subject: [PATCH] Run python tests without make install In order to do this, we need to add some stub gi module init files which allow us to extend the gi overrides path. --- configure.ac | 5 +++-- python/Makefile.am | 14 +------------- python/packages/Makefile.am | 1 + python/packages/gi/Makefile.am | 5 +++++ python/packages/gi/__init__.py | 3 +++ python/packages/gi/overrides/Makefile.am | 5 +++++ python/{ => packages/gi/overrides}/Vips.py | 0 python/packages/gi/overrides/__init__.py | 3 +++ test/test_all.py | 5 ++++- 9 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 python/packages/Makefile.am create mode 100644 python/packages/gi/Makefile.am create mode 100644 python/packages/gi/__init__.py create mode 100644 python/packages/gi/overrides/Makefile.am rename python/{ => packages/gi/overrides}/Vips.py (100%) create mode 100644 python/packages/gi/overrides/__init__.py diff --git a/configure.ac b/configure.ac index 562c297b..96881ecb 100644 --- a/configure.ac +++ b/configure.ac @@ -772,8 +772,6 @@ fi if test x"$enable_pyvips8" = x"yes"; then PKG_CHECK_MODULES(PYGOBJECT, [pygobject-3.0 >= 3.12.0]) - pyoverridesdir="\$(pyexecdir)/gi/overrides" - AC_SUBST(pyoverridesdir) fi AM_CONDITIONAL(ENABLE_PYVIPS8, test x"$enable_pyvips8" = x"yes") @@ -994,6 +992,9 @@ AC_OUTPUT([ tools/light_correct tools/shrink_width python/Makefile + python/packages/Makefile + python/packages/gi/Makefile + python/packages/gi/overrides/Makefile test/Makefile test/variables.sh swig/Makefile diff --git a/python/Makefile.am b/python/Makefile.am index 6a8d54a5..fadca9af 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -1,17 +1,5 @@ -vips_overridesdir = $(pyoverridesdir) -vips_overrides_PYTHON = Vips.py +SUBDIRS = packages EXTRA_DIST = \ README.md -# if we build in a separate tree, we need to symlink the *.py files from the -# source tree; Python does not accept the extensions and modules in different -# paths -build_pylinks: - for f in $(vips_overrides_PYTHON); do \ - [ -e $(builddir)/$$f ] || $(LN_S) $(srcdir)/$$f $(builddir)/$$f; \ - done - -all-local: build_pylinks -check-local: build_pylinks - diff --git a/python/packages/Makefile.am b/python/packages/Makefile.am new file mode 100644 index 00000000..14602de3 --- /dev/null +++ b/python/packages/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = gi diff --git a/python/packages/gi/Makefile.am b/python/packages/gi/Makefile.am new file mode 100644 index 00000000..dee3aef1 --- /dev/null +++ b/python/packages/gi/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = overrides + +EXTRA_DIST = \ + __init__.py + diff --git a/python/packages/gi/__init__.py b/python/packages/gi/__init__.py new file mode 100644 index 00000000..e35e122f --- /dev/null +++ b/python/packages/gi/__init__.py @@ -0,0 +1,3 @@ +# support overrides in different directories than our gi module +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) diff --git a/python/packages/gi/overrides/Makefile.am b/python/packages/gi/overrides/Makefile.am new file mode 100644 index 00000000..7a93b151 --- /dev/null +++ b/python/packages/gi/overrides/Makefile.am @@ -0,0 +1,5 @@ +vips_overridesdir = $(pyexecdir)/gi/overrides +vips_overrides_PYTHON = Vips.py + +EXTRA_DIST = \ + __init__.py diff --git a/python/Vips.py b/python/packages/gi/overrides/Vips.py similarity index 100% rename from python/Vips.py rename to python/packages/gi/overrides/Vips.py diff --git a/python/packages/gi/overrides/__init__.py b/python/packages/gi/overrides/__init__.py new file mode 100644 index 00000000..e35e122f --- /dev/null +++ b/python/packages/gi/overrides/__init__.py @@ -0,0 +1,3 @@ +# support overrides in different directories than our gi module +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) diff --git a/test/test_all.py b/test/test_all.py index 98fcf747..60805e49 100755 --- a/test/test_all.py +++ b/test/test_all.py @@ -1,4 +1,7 @@ -#!/usr/bin/python3 +#!/usr/bin/env python + +import sys +sys.path.append('../python/packages') import unittest