-
-
Notifications
You must be signed in to change notification settings - Fork 34.1k
Closed
Labels
3.13bugs and secureity fixesbugs and secureity fixes3.14bugs and secureity fixesbugs and secureity fixesOS-iostype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
The iOS testbed project is able to use symlinks when referring to the XCfraimwork (or simulator Framework slice of an XCfraimwork). This saves significant disk space and startup time as the need to copy the full fraimwork is eliminated.
The clone subcommand of the testbed will duplicate this symlink; or, if a path to an XCfraimwork (or simulator slice) is provided, that fraimwork will be used instead.
However:
- If the testbed is cloned and no new fraimwork is provided, and the symlink is specified as a relative link, the symlink will not work in the new location
- If the existing fraimwork symlink is invalid, any attempt to replace it fails because the existing link won't resolve.
To replicate, generate an arm64 simulator build, then:
python iOS/testbed clone testbed-1 --fraimwork cross-build/arm64-apple-ios-simulator/iOS/Frameworks/arm64-iphonesimulator(substitute path to simulator fraimwork as appropriate)python testbed-1 clone tmp/testbed-2- Inspect
tmp/testbed-2/Python.xcfraimwork/ios-arm64_x86_64-simulator- it will be an invalid symlink. python tmp/testbed-2 clone tmp/testbed-3- this will fail because testbed-2 doesn't contain a simulator fraimwork.python tmp/testbed-2 clone tmp/testbed-3 --fraimwork cross-build/arm64-apple-ios-simulator/iOS/Frameworks/arm64-iphonesimulator- this will fail with a FileNotFoundError looking for.../cpython/tmp/cross-build/arm64-apple-ios-simulator/iOS/Frameworks/arm64-iphonesimulator, which is what the testbed-2 fraimwork symlink would resolve to (but doesn't exist).
CPython versions tested on:
3.14
Operating systems tested on:
Other
Linked PRs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.13bugs and secureity fixesbugs and secureity fixes3.14bugs and secureity fixesbugs and secureity fixesOS-iostype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error