Commit 2d96880f authored by Thibault Saunier's avatar Thibault Saunier

Make ptvenv --check run make check

And fix make check running when pitivi has not bin built
parent d7756157
......@@ -249,6 +249,31 @@ then
fi
fi
function run_in_sandbox {
$FLATPAK build --socket=x11 --socket=session-bus --socket=pulseaudio \
--share=network \
--env=GST_PLUGIN_SYSTEM_PATH= \
--env=GST_CHECKS=$GST_CHECKS \
--env=GST_PRESET_PATH=/app/share/gstreamer-1.0/presets/:/app/share/pitivi/gstpresets/:$GST_PRESET_PATH \
--env=GST_ENCODING_TARGET_PATH=/app/share/pitivi/gstpresets/:$GST_ENCODING_TARGET_PATH \
--env=GST_DEBUG=$GST_DEBUG \
--env=GST_PLUGIN_SYSTEM_PATH= \
--env=GST_VALIDATE=$GST_VALIDATE \
--env=GST_VALIDATE_LAUNCHER_DEBUG=$GST_VALIDATE_LAUNCHER_DEBUG \
--env=PITIVI_DEBUG=$PITIVI_DEBUG \
--env=PITIVI_DEVELOPMENT=1 \
--env=DISPLAY=$DISPLAY \
--env=GST_DEBUG_DUMP_DOT_DIR=$GST_DEBUG_DUMP_DOT_DIR \
$PREFIX $SCRIPTDIR/enter-env "$@" || exit 1
}
function build_local_repo {
echo "-> Building $APPLICATION_NAME from current repository"
cd $APPLICATION_REPOSITORY
run_in_sandbox "./configure --prefix=/app --libdir=lib" || exit 1
run_in_sandbox make ||exit 1
}
# Install needed runtimes
if [ -n "$DEVEL" ]
then
......@@ -372,9 +397,7 @@ then
then
if [ -z "$APP_INSTALLED" ] && [ -z "$USE_REMOTE" ]
then
cd $APPLICATION_REPOSITORY
$FLATPAK run --branch=$BRANCH -d --command="./configure" $APPLICATION_REF_NAME
$FLATPAK run --branch=$BRANCH -d --command="make" $APPLICATION_REF_NAME
build_local_repo
fi
echo "=============================="
......@@ -413,49 +436,22 @@ then
if [ -z $BUNDLE ] || [ -n "$CHECK" ]
then
echo "-> Building $APPLICATION_NAME from current repository"
cd $APPLICATION_REPOSITORY && $FLATPAK build --env=PYTHON=python3 $PREFIX ./configure --prefix=/app --libdir=lib || exit 1
$FLATPAK build --env=PYTHON=python3 $PREFIX make || exit 1
build_local_repo
fi
fi
# Launch development environment if we are not updating it and not creating a bundle
if [ -z $BUNDLE ] && [ -z $UPDATE ]
if [ -z $BUNDLE ] && [ -z $UPDATE ] && [ -z $CHECK ]
then
$FLATPAK build --socket=x11 --socket=session-bus --socket=pulseaudio \
--share=network \
--env=GST_PLUGIN_SYSTEM_PATH= \
--env=GST_CHECKS=$GST_CHECKS \
--env=GST_PRESET_PATH=/app/share/gstreamer-1.0/presets/:/app/share/pitivi/gstpresets/:$GST_PRESET_PATH \
--env=GST_ENCODING_TARGET_PATH=/app/share/pitivi/gstpresets/:$GST_ENCODING_TARGET_PATH \
--env=GST_DEBUG=$GST_DEBUG \
--env=GST_PLUGIN_SYSTEM_PATH= \
--env=GST_VALIDATE=$GST_VALIDATE \
--env=GST_VALIDATE_LAUNCHER_DEBUG=$GST_VALIDATE_LAUNCHER_DEBUG \
--env=PITIVI_DEBUG=$PITIVI_DEBUG \
--env=PITIVI_DEVELOPMENT=1 \
--env=DISPLAY=$DISPLAY \
--env=GST_DEBUG_DUMP_DOT_DIR=$GST_DEBUG_DUMP_DOT_DIR \
$PREFIX $SCRIPTDIR/enter-env "$@"
exit $exitcode
run_in_sandbox "$@"
fi
if [ -n "$CHECK" ]
then
echo "Running tests with nosetests"
$FLATPAK build --socket=x11 --socket=session-bus --socket=pulseaudio \
--share=network \
--env=GST_DEBUG=$GST_DEBUG \
--env=GST_CHECKS=$GST_CHECKS \
--env=GST_PLUGIN_SYSTEM_PATH= \
--env=GST_VALIDATE=$GST_VALIDATE \
--env=GST_VALIDATE_LAUNCHER_DEBUG=$GST_VALIDATE_LAUNCHER_DEBUG \
--env=PITIVI_DEBUG=$PITIVI_DEBUG \
--env=PITIVI_DEVELOPMENT=1 \
--env=DISPLAY=$DISPLAY \
--env=GST_DEBUG_DUMP_DOT_DIR=$GST_DEBUG_DUMP_DOT_DIR \
$PREFIX $SCRIPTDIR/enter-env "nosetests --with-xunit $APPLICATION_REPOSITORY/tests/test_*.py"|| exit 1
run_in_sandbox "./configure --prefix=/app --libdir=lib -Denable-xunit=true"
echo "-> Running unit tests"
run_in_sandbox "make check"
fi
else
$FLATPAK run org.pitivi.Pitivi
......
......@@ -357,6 +357,7 @@
},
{
"name": "pitivi",
"config-opts": ["--libdir=lib", "--prefix=/app"],
"build-options" : {
"build-args": ["--share=network"]
},
......
......@@ -41,6 +41,7 @@ APPNAME = '@PACKAGE_NAME@'
APPURL = 'http://www.pitivi.org/'
RELEASES_URL = 'http://pitivi.org/releases.txt'
APPMANUALURL_ONLINE = 'http://www.pitivi.org/manual'
BUILDDIR = '@BUILDDIR@'
if in_devel():
......
......@@ -15,48 +15,39 @@ def get_pitivi_dir():
return os.path.abspath(pitivi_dir)
def get_build_dir():
"""Gets the build directory."""
from pitivi.configure import in_devel
if in_devel():
# It's the same.
build_dir = get_pitivi_dir()
else:
# Probably running make distcheck. The path to the test files
# is different than the build path, so we must use the current
# dir which is build_path/tests.
build_dir = os.path.join(
os.path.abspath(os.path.curdir), os.path.pardir)
return os.path.abspath(build_dir)
def _prepend_env_path(name, value):
def _prepend_env_paths(**args):
"""Prepends one or more paths to an environment variable."""
os.environ[name] = os.pathsep.join(value +
os.environ.get(name, "").split(
os.pathsep))
for name, value in args.items():
if not isinstance(value, list):
value = [value]
os.environ[name] = os.pathsep.join(
value + os.environ.get(name, "").split(
os.pathsep))
def setup():
"""Sets paths and initializes modules, to be able to run the tests."""
res = True
# Make available to configure.py the top level dir.
pitivi_dir = get_pitivi_dir()
sys.path.insert(0, pitivi_dir)
os.environ.setdefault('PITIVI_TOP_LEVEL_DIR', pitivi_dir)
_prepend_env_path("GST_PRESET_PATH", [
os.path.join(pitivi_dir, "data", "videopresets"),
os.path.join(pitivi_dir, "data", "audiopresets")])
_prepend_env_path("GST_ENCODING_TARGET_PATH", [
os.path.join(pitivi_dir, "data", "encoding-profiles")])
from pitivi import configure
# Make available the compiled C code.
build_dir = get_build_dir()
libs_dir = os.path.join(build_dir, "pitivi/coptimizations/.libs")
sys.path.append(libs_dir)
sys.path.append(configure.BUILDDIR)
subproject_paths = os.path.join(configure.BUILDDIR, "subprojects", "gst-transcoder")
_prepend_env_paths(LD_LIBRARY_PATH=subproject_paths,
GST_PLUGIN_PATH=subproject_paths,
GI_TYPELIB_PATH=subproject_paths,
GST_PRESET_PATH=[os.path.join(pitivi_dir, "data", "videopresets"),
os.path.join(pitivi_dir, "data", "audiopresets")],
GST_ENCODING_TARGET_PATH=[os.path.join(pitivi_dir, "data", "encoding-profiles")])
os.environ.setdefault('PITIVI_TOP_LEVEL_DIR', pitivi_dir)
# Make sure the modules are initialized correctly.
from pitivi import check
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment