--- /dev/null
+#!/bin/bash
+#
+# Copyright (C) 2017 Philippe Proulx <pproulx@efficios.com>
+# Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; only version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+# Execute a shell command in the appropriate environment to have access to the
+# bt2 Python bindings. For example, one could use it to run a specific Python
+# binding test case with:
+#
+# $ ./run_python_bt2 python3 -m unittest test_values.MapValueTestCase.test_deepcopy
+
+if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
+ UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
+else
+ UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+usage() {
+ echo "Usage: run_python_bt2 [PYTHON_BIN] ..."
+ echo ""
+ echo "Run a binary with the python environment set to use the 'bt2' module"
+ echo "from the build system prior to installation."
+ echo ""
+ echo "When building out of tree export the BT_TESTS_BUILDDIR variable with"
+ echo "the path to the built 'tests' directory."
+}
+
+if [ "x$*" = "x" ]; then
+ usage
+else
+ run_python_bt2 "${@}"
+fi