+[submodule "subprojects/gst-integration-testsuites/medias"]
+ path = subprojects/gst-integration-testsuites/medias
+ url = https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites.git
## Run the GStreamer unit tests
-Running GStreamer unit tests inside `gst-build` is as simple as doing:
+Running GStreamer unit tests is as simple as doing:
```
gst-validate-launcher check.gst*
set of media samples. Those media samples are stored with `git-lfs` so
you will need it to be able to launch the default testsuite.
-We recommend using `gst-build` to setup everything needed to run the testsuite
-and you can simply do:
+Then you can run:
- gst-validate-launcher validate
+```
+gst-validate-launcher validate
+```
This will only launch the GstValidate tests and not other applications
that might be supported (currently `ges-launch` is also supported and
import tempfile
from . import reporters
import subprocess
+import pathlib
from .loggable import Loggable
if "--help" not in sys.argv:
HELP = "Use --help for the full help"
-QA_ASSETS = "gst-integration-testsuites"
+QA_ASSETS = "gstreamer"
MEDIAS_FOLDER = "medias"
-DEFAULT_GST_QA_ASSETS_REPO = "https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites.git"
+DEFAULT_GST_QA_ASSETS_REPO = "https://gitlab.freedesktop.org/gstreamer/gstreamer.git"
def download_assets(options):
if not download_assets(options):
return False, None, None
+ for d in options.testsuites_dirs:
+ path = pathlib.Path(d).resolve()
+ if not path.as_posix().endswith('subprojects/gst-integration-testsuites/testsuites'):
+ continue
+
+ # Ensure we have gst-integration-testsuites media files.
+ subprocess.check_call(['git', 'submodule', 'update', '--init'],
+ cwd=utils.DEFAULT_GST_QA_ASSETS)
+ subprocess.check_call(['git', 'lfs', 'pull', '--exclude='],
+ cwd=pathlib.Path(utils.DEFAULT_GST_QA_ASSETS) / 'medias')
# Ensure that the scenario manager singleton is ready to be used
ScenarioManager().config = options
if not tests_launcher.set_settings(options, []):
USING_SUBPROJECT = os.path.exists(os.path.join(config.BUILDDIR, "subprojects", "gst-integration-testsuites"))
if not USING_SUBPROJECT:
DEFAULT_MAIN_DIR = os.path.join(os.path.expanduser("~"), "gst-validate")
- DEFAULT_GST_QA_ASSETS = os.path.join(DEFAULT_MAIN_DIR, "gst-integration-testsuites")
+ DEFAULT_GST_QA_ASSETS = os.path.join(DEFAULT_MAIN_DIR, "gstreamer", "subprojects", "gst-integration-testsuites")
DEFAULT_MAIN_DIR = os.environ.get('GST_VALIDATE_LAUNCHER_MAIN_DIR', DEFAULT_MAIN_DIR)
DEFAULT_TESTSUITES_DIRS = [os.path.join(DEFAULT_GST_QA_ASSETS, "testsuites")]
--- /dev/null
+Subproject commit 398b3df4efa1ee745b7f748832aca7e1b47c5133