tests: Add support for collection IDs to test-repo.sh

This adds variable support for collection IDs: they can either be
enabled on the server, on the server and client, or not at all. If
enabled on the server, apps and runtimes are built with collection IDs
and the repository has one set. If enabled on the client, the remote
config is added to the local repository with a collection ID and GPG
verification enabled. They are controlled with
USE_COLLECTIONS_IN_{SERVER,CLIENT}={yes,no}.

These variables are used in the new wrapper tests,
test-repo-collections.sh and test-repo-collections-server-only.sh.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
tingping/wmclass
Philip Withnall 2017-08-11 12:33:34 +01:00 committed by Alexander Larsson
parent dd63bdbd61
commit 9989188a1e
11 changed files with 173 additions and 33 deletions

View File

@ -132,6 +132,8 @@ dist_test_scripts = \
tests/test-run-deltas.sh \
tests/test-run-system-deltas.sh \
tests/test-repo.sh \
tests/test-repo-collections.sh \
tests/test-repo-collections-server-only.sh \
tests/test-repo-system.sh \
tests/test-extensions.sh \
tests/test-bundle.sh \

View File

@ -194,42 +194,93 @@ export FL_GPGARGS2="--gpg-homedir=${FL_GPG_HOMEDIR2} --gpg-sign=${FL_GPG_ID2}"
export FL_GPG_BASE64="mQENBFbPBvoBCADWbz5O+XzuyN+dDExK81pci+gIzBNWB+7SsN0EgoJppKgwBCX+Bd6ERe9Yz0nJbJB/tjazRp7MnnoPnh6fXnhIbHA766/Eciy4sL5X8laqDmWmROCqCe79QZH/w6vYTKsDmoLQrw9eKRP1ilCvECNGcVdhIyfTDlNrU//uy5U4h2PVUz1/Al87lvaJnrj5423m5GnX+qpEG8mmpmcw52lvXNPuC95ykylPQJjI0WnOuaTcxzRhm5eHPkqKQ+nPIS+66iw1SFdobYuye/vg/rDiyp8uyQkh7FWXnzHxz4J8ovesnrCM7pKI4VEHCnZ4/sj2v9E3l0wJlqZxLTULaV3lABEBAAG0D1hkZy1hcHAgdGVzdGluZ4kBOAQTAQIAIgUCVs8G+gIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQE4sx4HsJYf2DiAf7BQ8anU3CgYpJjuO2rT8jQPO0jGRCNaPyaeAcBx8IjFkjf8daKMPCAt6gQioEpC8OhDig86Bl5piYOB7L7JSB53mgUrADJXhgC/dG4soCt7/U4wW30MseXdlXSOqHGApblF/bIs4B30OBGReBj3DcWIqyb48GraSKlPlaCpkZFySNEAcGUCeCqbbygxCQAM8MDq9FgVRk5oVrE/nAUm6oScEBhseoB7+CaHaRTmLoe/SBs0z2AJ7alIH1Sv4X3mQXpfsAIcWf3Zu2MZydF/Vuh8vTMROwPYtOVEtGxZvEBN3h5uc88dHSk928maqsop9T6oEwM43mBKCOu1gdAOw4OLkBDQRWzwb6AQgAx/XuEaQvdI3J2YYmOE6RY0jJZXLauXH46cJR4q70mlDev/OqYKTSLlo4q06D4ozCwzTYflppDak7kmjWMN224/u1koqFOtF76LsglAeLaQmweWmX0ecbPrzFYaX30kaQAqQ9Wk0PRe0+arRzWDWfUv3qX3y1decKUrBCuEC6WvVVwooWs+zX0cUBS8CROhazTjvXFAz36mhK0u+B3WCBlK+T2tIPOjLjlYgzYARw+X7/J6B3C798r2Hw/yXqCDcKLrq7WWUB33kv3buuG2G6LUamctdD8IsTBxi+nIjAvQITFqq4cPbbXAJGaAnWGuLOddQ9e/GhCOI4JjopRnnjOwARAQABiQEfBBgBAgAJBQJWzwb6AhsMAAoJEBOLMeB7CWH9TC8H/A6oreCxeiL8DPOWN29OaQ5sEw7Dg7bnLSZLu8aREgwfCiFSv0numOABjn/G89Y5M6NiEXFZZhUa+SXOALiBLUy98O84lyp9hlP9qGbWRgBXwe5vOAJERqtoUwR5bygpAw5Nc4y3wddPC4vH7upJ8ftU/eEFtPdI0cKrrAZDFdhXFp3RxdCC6fD62wbofE0mo1Ea1iD3xqVh2t7jfWN1RhMV308htHRGkkmWcEbbvHqugwL6dWZEvQmLYi6/7tQyA1KdG4AZksBP/MBi3t2hthRqQx1v52JwdCaZNuItuEe5rWXhfvoGxPoqYZt9ZPjna6yJfcfJwPbMfjNwX2LR4p4="
export FL_GPG_BASE642="mQENBFkSyx4BCACq/8XFcF+NTpJKfoo8F6YyR8RQXww6kCV47zN78Dt7aCh43WSYLRUBRt1tW5MRT8R60pwCsGvKnFiNS2Vqe4T1IW4mDnFMZIZJXdNVwKUqVBPL/jzkIDnQ9NXtuPNH0qET6VhYnb9aykLo/MiBmx6q+4MvYd/qwiN8kstRifRIxjjZx6wsg+muY6yx9fZKxlgvhc3nsrl3oyDo7/+V+b3heYLtMCQFwlHRKz3Yf2X9H0aUSbDYcgTy6w3q94HVNCpJSqeiR+kBG175BQYKR2l7WYdaVPFf5LMEvAJh0SGnqu77X+8TYYRQiiBB5fYjGOeHfOh6uH5GAJRQymVIJwy/ABEBAAG0KkZsYXRwYWsgKFRlc3Qga2V5IDIpIDxmbGF0cGFrQGZsYXRwYWsub3JnPokBOAQTAQIAIgUCWRLLHgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdZ9f0LIxTvyeUQf/euAZpipXBkGWxeW4G10r1QRi2tZAWNeLpy8SB17eo9E6yB61SdH80jALborVs/plnZzKcFf+nLvjCn51FLMh6QPL3S+079WHsed//qtUWfbJ85hLevfCMTZMLktUmqwwUh238WW/gKtbUjYOqr1IZSMBoMiQtc0iOVBP7HUdhYigxTKvs/MBEGHANeQkY07ZnX9oFXElOo+EIPAHScwEOSwEVrXUVHpQODzIfjOoPUHWAZtM1yJT+iWmVHe4HtU8CyBnPyUcnTmTWKr92QmgfWkb1T7ugT5gXt/6ZlYAaZGnr9yNuSk3MMhDMOyldtJBM5Zl8eScE9KBf7pRJoxnMLkBDQRZEsseAQgAvA29IyiJpB+jUHj3MOyVyTBOmvLme+0Ndhpt/mTh+swchJUvzb0IzQS9Le5yVAvn+ppAtDCMb+bV4Xh5zrbiH0Hu0qwK4Qk+KcIKRE8ImDiUM8NFE2SZoomZSsgZ1NBWbAdEyVpkBfrt3Dd8FssMrwPF6kqo02TZr7Pxng+BEHUZT6jPCxueqyXyv2cLbQMe1H0U7klsxPmnnIYUqdwOmPxUspVEYP9oJb5y123mx0yj5JuYdZMjWbP3cRLox1RKIlFWgQqOn2yJiEoWzpqdbtb7sE3ggnbZKJED0ZxUZIakjnyMhX+GAEA8ZMZ6+HfDt1iHV8qHcYiLW5A3AQTxZwARAQABiQEfBBgBAgAJBQJZEsseAhsMAAoJEHWfX9CyMU78Ns4IAJRQ5UJ9KkeZClHm1EjYlgsAq1UJr9wgbyBFKTEkGZ/CAvVmgg+BUXcN/SPAkELbEAOJZTyv8C5cuJC49iFHOxUbRZXZ5eN2SvhZzl+5gep2uHwVLdqRIxFDTHbLWnmtHxPeU7IRA9u86q3wV1N0pD7kreNN7BWKY3/tI33hY2/XVVFy0MN5sutPn+lVK66MqAHqtode5xqqz9Z8LmS7LlqokQkAytcGd6Xqsx99NTk8kk3bnk9HWsAvDO8tRZroeseKeRNmbhGvCNUxPSB6bpYBJLvQtjA9ZVv6sNm0E+SuiXKizZkBGO5AH50pDoy0+MCGoOhwwXeY5+1kZAOzkMI="
setup_repo () {
setup_repo_no_add () {
REPONAME=${1:-test}
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.Platform bash ls cat echo readlink > /dev/null
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-app.sh ${REPONAME} > /dev/null
update_repo $REPONAME
if [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
else
COLLECTION_ID=
fi
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.Platform "${COLLECTION_ID}" bash ls cat echo readlink > /dev/null
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-app.sh ${REPONAME} "${COLLECTION_ID}" > /dev/null
update_repo $REPONAME "${COLLECTION_ID}"
if [ $REPONAME == "test" ]; then
$(dirname $0)/test-webserver.sh repos
FLATPAK_HTTP_PID=$(cat httpd-pid)
mv httpd-port httpd-port-main
fi
}
setup_repo () {
REPONAME=${1:-test}
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
setup_repo_no_add "$@"
port=$(cat httpd-port-main)
flatpak remote-add ${U} --gpg-import=${GPGPUBKEY:-${FL_GPG_HOMEDIR}/pubring.gpg} ${REPONAME}-repo "http://127.0.0.1:${port}/$REPONAME"
if [ x${GPGPUBKEY:-${FL_GPG_HOMEDIR}/pubring.gpg} != x ]; then
import_args=--gpg-import=${GPGPUBKEY:-${FL_GPG_HOMEDIR}/pubring.gpg}
else
import_args=
fi
if [ x${USE_COLLECTIONS_IN_CLIENT-} == xyes ] ; then
collection_args=--collection-id=${COLLECTION_ID}
else
collection_args=
fi
flatpak remote-add ${U} ${collection_args} ${import_args} ${REPONAME}-repo "http://127.0.0.1:${port}/$REPONAME"
}
update_repo () {
REPONAME=${1:-test}
${FLATPAK} build-update-repo ${GPGARGS:-${FL_GPGARGS}} ${UPDATE_REPO_ARGS-} repos/${REPONAME}
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
if [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
collection_args=--collection-id=${COLLECTION_ID}
else
collection_args=
fi
${FLATPAK} build-update-repo ${collection_args} ${GPGARGS:-${FL_GPGARGS}} ${UPDATE_REPO_ARGS-} repos/${REPONAME}
}
make_updated_app () {
REPONAME=${1:-test}
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-app.sh ${REPONAME} ${2:-UPDATED} > /dev/null
update_repo $REPONAME
if [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
else
COLLECTION_ID=""
fi
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-app.sh ${REPONAME} "${COLLECTION_ID}" ${3:-UPDATED} > /dev/null
update_repo $REPONAME "${COLLECTION_ID}"
}
setup_sdk_repo () {
REPONAME=${1:-test}
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.Sdk bash ls cat echo readlink make mkdir cp touch > /dev/null
update_repo $REPONAME
if [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
else
COLLECTION_ID=""
fi
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.Sdk "${COLLECTION_ID}" bash ls cat echo readlink make mkdir cp touch > /dev/null
update_repo $REPONAME "${COLLECTION_ID}"
}
setup_python2_repo () {
REPONAME=${1:-test}
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.PythonPlatform bash python2 ls cat echo rm readlink > /dev/null
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.PythonSdk python2 bash ls cat echo rm readlink make mkdir cp touch > /dev/null
update_repo $REPONAME
if [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
COLLECTION_ID=${2:-org.test.Collection.${REPONAME}}
else
COLLECTION_ID=""
fi
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.PythonPlatform "${COLLECTION_ID}" bash python2 ls cat echo rm readlink > /dev/null
GPGARGS="${GPGARGS:-${FL_GPGARGS}}" . $(dirname $0)/make-test-runtime.sh ${REPONAME} org.test.PythonSdk "${COLLECTION_ID}" python2 bash ls cat echo rm readlink make mkdir cp touch > /dev/null
update_repo $REPONAME "${COLLECTION_ID}"
}
install_repo () {

View File

@ -6,6 +6,8 @@ DIR=`mktemp -d`
REPONAME=$1
shift
COLLECTION_ID=$1
shift
EXTRA="${1-}"
@ -63,7 +65,13 @@ gzip -c > ${DIR}/files/share/app-info/xmls/org.test.Hello.xml.gz <<EOF
EOF
cp $(dirname $0)/org.test.Hello.png ${DIR}/files/share/app-info/icons/flatpak/64x64/
if [ x$COLLECTION_ID != x ]; then
collection_args=--collection-id=${COLLECTION_ID}
else
collection_args=
fi
flatpak build-finish --command=hello.sh ${DIR}
mkdir -p repos
flatpak build-export ${GPGARGS-} repos/${REPONAME} ${DIR}
flatpak build-export ${collection_args} ${GPGARGS-} repos/${REPONAME} ${DIR}
rm -rf ${DIR}

View File

@ -8,6 +8,8 @@ REPONAME=$1
shift
ID=$1
shift
COLLECTION_ID=$1
shift
mkdir ${DIR}/files
mkdir ${DIR}/usr
@ -65,6 +67,12 @@ done
mkdir -p ${DIR}/usr/lib/locale/
cp -r /usr/lib/locale/C.* ${DIR}/usr/lib/locale/en_US
if [ x$COLLECTION_ID != x ]; then
collection_args=--collection-id=${COLLECTION_ID}
else
collection_args=
fi
mkdir -p repos
flatpak build-export --runtime ${GPGARGS-} repos/${REPONAME} ${DIR}
flatpak build-export ${collection_args} --runtime ${GPGARGS-} repos/${REPONAME} ${DIR}
rm -rf ${DIR}

View File

@ -148,7 +148,7 @@ assert_file_has_content hello_out '^Hello world, from a sandboxUPDATED$'
echo "ok update"
make_updated_app test UPDATED2
make_updated_app test org.test.Collection.test UPDATED2
${FLATPAK} build-bundle repos/test --repo-url=file://`pwd`/repos/test --gpg-keys=${FL_GPG_HOMEDIR}/pubring.gpg bundles/hello2.flatpak org.test.Hello
assert_has_file bundles/hello2.flatpak

View File

@ -90,8 +90,8 @@ EOF
mkdir -p repos
ostree init --repo=repos/test --mode=archive-z2
. $(dirname $0)/make-test-runtime.sh test org.test.Platform bash ls cat echo readlink > /dev/null
. $(dirname $0)/make-test-app.sh test > /dev/null
. $(dirname $0)/make-test-runtime.sh test org.test.Platform "" bash ls cat echo readlink > /dev/null
. $(dirname $0)/make-test-app.sh test "" > /dev/null
# Modify platform metadata
ostree checkout -U --repo=repos/test runtime/org.test.Platform/${ARCH}/master platform

View File

@ -76,7 +76,7 @@ echo "ok update oci"
flatpak uninstall ${U} org.test.Hello
make_updated_app test HTTP
make_updated_app test org.test.Collection.test HTTP
${FLATPAK} build-bundle --oci $FL_GPGARGS repos/test oci/registry org.test.Hello
$(dirname $0)/test-webserver.sh `pwd`/oci
@ -91,7 +91,7 @@ assert_file_has_content hello_out '^Hello world, from a sandboxHTTP$'
echo "ok install oci http"
make_updated_app test UPDATEDHTTP
make_updated_app test org.test.Collection.test UPDATEDHTTP
${FLATPAK} build-bundle --oci $FL_GPGARGS repos/test oci/registry org.test.Hello
${FLATPAK} update ${U} org.test.Hello

View File

@ -0,0 +1,23 @@
#!/bin/bash
#
# Copyright © 2017 Endless Mobile, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
export USE_COLLECTIONS_IN_SERVER=yes
export USE_COLLECTIONS_IN_CLIENT=no
. $(dirname $0)/test-repo.sh

View File

@ -0,0 +1,23 @@
#!/bin/bash
#
# Copyright © 2017 Endless Mobile, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
export USE_COLLECTIONS_IN_SERVER=yes
export USE_COLLECTIONS_IN_CLIENT=yes
. $(dirname $0)/test-repo.sh

View File

@ -24,18 +24,35 @@ set -euo pipefail
skip_without_bwrap
skip_without_user_xattrs
if [ x${USE_COLLECTIONS_IN_CLIENT-} == xyes ] || [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
skip_without_p2p
fi
echo "1..6"
#Regular repo
setup_repo
#unsigned repo
GPGPUBKEY="" GPG_ARGS="" setup_repo test-no-gpg
# Unsigned repo (not supported with collections; client-side use of collections requires GPG)
if [ x${USE_COLLECTIONS_IN_CLIENT-} == xyes ] ; then
if GPGPUBKEY=" " GPGARGS=" " setup_repo test-no-gpg org.test.Collection.NoGpg; then
assert_not_reached "Should fail remote-add due to missing GPG key"
fi
elif [ x${USE_COLLECTIONS_IN_SERVER-} == xyes ] ; then
# Set a collection ID and GPG on the server, but not in the client configuration
setup_repo_no_add test-no-gpg org.test.Collection.NoGpg
port=$(cat httpd-port-main)
flatpak remote-add ${U} --no-gpg-verify test-no-gpg-repo "http://127.0.0.1:${port}/test-no-gpg"
else
GPGPUBKEY="" GPGARGS="" setup_repo test-no-gpg
fi
#alternative gpg key repo
GPGPUBKEY="${FL_GPG_HOMEDIR2}/pubring.gpg" GPGARGS="${FL_GPGARGS2}" setup_repo test-gpg2
GPGPUBKEY="${FL_GPG_HOMEDIR2}/pubring.gpg" GPGARGS="${FL_GPGARGS2}" setup_repo test-gpg2 org.test.Collection.Gpg2
#remote with missing GPG key
# Dont use --collection-id= here, or the collections code will grab the appropriate
# GPG key from one of the previously-configured remotes with the same collection ID.
port=$(cat httpd-port-main)
if flatpak remote-add ${U} test-missing-gpg-repo "http://127.0.0.1:${port}/test"; then
assert_not_reached "Should fail metadata-update due to missing gpg key"
@ -47,10 +64,14 @@ if flatpak remote-add ${U} --gpg-import=${FL_GPG_HOMEDIR2}/pubring.gpg test-wron
assert_not_reached "Should fail metadata-update due to wrong gpg key"
fi
install_repo test-no-gpg
echo "ok install without gpg key"
if [ x${USE_COLLECTIONS_IN_CLIENT-} != xyes ] ; then
install_repo test-no-gpg
echo "ok install without gpg key"
${FLATPAK} ${U} uninstall org.test.Platform org.test.Hello
${FLATPAK} ${U} uninstall org.test.Platform org.test.Hello
else
echo "ok install without gpg key # skip not supported for collections"
fi
install_repo test-gpg2
echo "ok with alternative gpg key"
@ -95,16 +116,17 @@ assert_file_has_content repo-info "new-title"
echo "ok update metadata"
port=$(cat httpd-port-main)
UPDATE_REPO_ARGS="--redirect-url=http://127.0.0.1:${port}/test-gpg2 --gpg-import=${FL_GPG_HOMEDIR2}/pubring.gpg" update_repo
UPDATE_REPO_ARGS="--redirect-url=http://127.0.0.1:${port}/test-gpg3 --gpg-import=${FL_GPG_HOMEDIR2}/pubring.gpg" update_repo
GPGPUBKEY="${FL_GPG_HOMEDIR2}/pubring.gpg" GPGARGS="${FL_GPGARGS2}" setup_repo_no_add test-gpg3 org.test.Collection.test
${FLATPAK} ${U} update org.test.Platform
${FLATPAK} ${U} remotes -d | grep ^test-repo > repo-info
# Ensure we have the new uri
assert_file_has_content repo-info "/test-gpg2"
${FLATPAK} ${U} remotes -d | grep ^test-repo > repo-info
assert_file_has_content repo-info "/test-gpg3"
# Make sure we also get new installs from the new repo
GPGARGS="${FL_GPGARGS2}" make_updated_app test-gpg2
update_repo test-gpg2
GPGARGS="${FL_GPGARGS2}" make_updated_app test-gpg3 org.test.Collection.test
update_repo test-gpg3 org.test.Collection.test
${FLATPAK} ${U} install test-repo org.test.Hello
assert_file_has_content $FL_DIR/app/org.test.Hello/$ARCH/master/active/files/bin/hello.sh UPDATED

View File

@ -278,6 +278,9 @@ test_remote (void)
g_assert_cmpstr (flatpak_remote_get_collection_id (remote), ==, NULL);
flatpak_remote_set_collection_id (remote, "org.example.CollectionID");
g_assert_cmpstr (flatpak_remote_get_collection_id (remote), ==, "org.example.CollectionID");
/* Dont leave the collection ID set since the repos arent configured with one. */
flatpak_remote_set_collection_id (remote, NULL);
g_assert_cmpstr (flatpak_remote_get_collection_id (remote), ==, NULL);
#endif /* FLATPAK_ENABLE_P2P */
g_assert_cmpstr (flatpak_remote_get_title (remote), ==, NULL);
@ -552,7 +555,7 @@ make_test_runtime (void)
g_autoptr(GError) error = NULL;
g_autofree char *arg0 = NULL;
char *argv[] = {
NULL, "test", "org.test.Platform", "bash", "ls", "cat", "echo", "readlink", NULL
NULL, "test", "org.test.Platform", "", "bash", "ls", "cat", "echo", "readlink", NULL
};
GSpawnFlags flags = G_SPAWN_DEFAULT;
@ -578,7 +581,7 @@ make_test_app (void)
int status;
g_autoptr(GError) error = NULL;
g_autofree char *arg0 = NULL;
char *argv[] = { NULL, "test", NULL };
char *argv[] = { NULL, "test", "", NULL };
GSpawnFlags flags = G_SPAWN_DEFAULT;
arg0 = g_test_build_filename (G_TEST_DIST, "make-test-app.sh", NULL);