diff --git a/test/Makefile.am b/test/Makefile.am index 9886f285..9a25924d 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -855,6 +855,7 @@ EXTRA_DIST += data/installable/meson.build EXTRA_DIST += data/meson.build EXTRA_DIST += meson.build EXTRA_DIST += meta_template.test.in +EXTRA_DIST += mkdir-m700.py # Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE include $(top_srcdir)/aminclude_static.am diff --git a/test/meson.build b/test/meson.build index e65c5c38..9fb62597 100644 --- a/test/meson.build +++ b/test/meson.build @@ -76,8 +76,8 @@ test_env.set('DBUS_TEST_UNINSTALLED', '1') xdgdir = custom_target('gen-xdgdir', command: [ - python, '-c', - 'import os, sys; os.makedirs(sys.argv[1], exist_ok=True)', + python, + files('mkdir-m700.py'), meson.current_build_dir() / 'XDG_RUNTIME_DIR', ], output: 'XDG_RUNTIME_DIR' diff --git a/test/mkdir-m700.py b/test/mkdir-m700.py new file mode 100755 index 00000000..d8ebddbe --- /dev/null +++ b/test/mkdir-m700.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 +# Copyright 2022 Collabora Ltd. +# SPDX-License-Identifier: MIT + +import os +import sys + +# Note that we can't create the XDG_RUNTIME_DIR with permissions 0700 +# on MSYS2, which rejects attempts to change permissions, hence "|| true". +os.makedirs(sys.argv[1], exist_ok=True) + +try: + os.chmod(sys.argv[1], 0o700) +except OSError: + pass