File: pywrap

package info (click to toggle)
cockpit 354-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 308,956 kB
  • sloc: javascript: 775,606; python: 40,351; ansic: 35,655; cpp: 11,117; sh: 3,511; makefile: 580; xml: 261
file content (30 lines) | stat: -rwxr-xr-x 1,097 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh

# Run a Python script, setting up PYTHONPATH for access to test/common and the
# python libraries in bots/.  Checks out the bots first, if necessary.

# This is intended to be used from the interpreter line of executable Python
# scripts, referring to it with a relative path.  The interpreter line should
# look something like so:

  #!/usr/bin/python3 -cimport os, sys; os.execv(os.path.dirname(sys.argv[1]) + "/../test/common/pywrap", sys.argv)

# with the `/../test/common/` part determined by the location of the script
# relative to this script.

set -eu

realpath="$(realpath "$0")"
top_srcdir="${realpath%/*}/../.."

# Check out the bots if required
test -d "${top_srcdir}/bots" || "${top_srcdir}/test/common/make-bots"

# Prepend the path
PYTHONPATH="${top_srcdir}/test/common:${top_srcdir}/bots:${PYTHONPATH:+:${PYTHONPATH}}"
export PYTHONPATH

# Run the script
# -B     : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
# -P     : don't prepend a potentially unsafe path to sys.path -- but not available in RHEL 8/9 yet, use once we can
exec python3 -B "$@"