From 6aeb0d5b2ae45beb8456a96faef416575fb25058 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 12 Nov 2025 23:03:51 +0100 Subject: [PATCH] [3.13] gh-141442: Add escaping to iOS testbed arguments (GH-141443) (#141480) Xcode concatenates the test argument array, losing quoting in the process. (cherry picked from commit 558936bec1f1e0f8346063a8cb2b2782d085178e) Co-authored-by: Russell Keith-Magee --- .../Tools-Demos/2025-11-12-12-54-28.gh-issue-141442.50dS3P.rst | 1 + iOS/testbed/__main__.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Tools-Demos/2025-11-12-12-54-28.gh-issue-141442.50dS3P.rst diff --git a/Misc/NEWS.d/next/Tools-Demos/2025-11-12-12-54-28.gh-issue-141442.50dS3P.rst b/Misc/NEWS.d/next/Tools-Demos/2025-11-12-12-54-28.gh-issue-141442.50dS3P.rst new file mode 100644 index 000000000000..073c070413f7 --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2025-11-12-12-54-28.gh-issue-141442.50dS3P.rst @@ -0,0 +1 @@ +The iOS testbed now correctly handles test arguments that contain spaces. diff --git a/iOS/testbed/__main__.py b/iOS/testbed/__main__.py index 6a4d9c76d162..62a85a034ebd 100644 --- a/iOS/testbed/__main__.py +++ b/iOS/testbed/__main__.py @@ -1,6 +1,7 @@ import argparse import json import re +import shlex import shutil import subprocess import sys @@ -206,7 +207,7 @@ def update_test_plan(testbed_path, args): test_plan = json.load(f) test_plan["defaultOptions"]["commandLineArgumentEntries"] = [ - {"argument": arg} for arg in args + {"argument": shlex.quote(arg)} for arg in args ] with test_plan_path.open("w", encoding="utf-8") as f: -- 2.47.3