Tool tests fail under the Swift Build build system because `generate-manual` & `generate-docc-reference` are not built
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- swift
- Ambito
- build-system, testing
Direzione di ricerca
Inizia leggendo il manifest del pacchetto, in cui sono dichiarati i due target di test e i prodotti eseguibili. Riproduci il problema con swift test --filter 'GenerateManualTests|GenerateDoccReferenceTests' con Swift 6.4, quindi conferma che ogni target di test dipenda dall’eseguibile che esegue. Il lavoro è completato quando i test mirati passano sia con il sistema di build Swift sia con il sistema di build nativo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
With Swift 6.4, whose swift build & swift test use the Swift Build build system by default, swift test fails every test in ArgumentParserGenerateManualTests & ArgumentParserGenerateDoccReferenceTests:
Caught error: Error Domain=NSCocoaErrorDomain Code=260 "The file “generate-manual” couldn’t be opened because there is no such file." UserInfo={NSFilePath=…/.build/out/Products/Debug/generate-manual, …}
The tests run the generate-manual & generate-docc-reference executables from the products directory, but no test target depends on them. The native build system happened to build every executable product anyway, but Swift Build builds only what the requested targets depend on, so the executables are never built.
Steps to reproduce (on a clean checkout, with Swift 6.4):
swift test --filter 'GenerateManualTests|GenerateDoccReferenceTests'
Workaround: build the tools before testing:
swift build --product generate-manual
swift build --product generate-docc-reference
Proposed fix: make each test target depend on the tool that it runs:
.testTarget(
name: "ArgumentParserGenerateDoccReferenceTests",
dependencies: ["ArgumentParserTestHelpers", "generate-docc-reference"],
exclude: ["Snapshots"]),
.testTarget(
name: "ArgumentParserGenerateManualTests",
dependencies: ["ArgumentParserTestHelpers", "generate-manual"],
exclude: ["Snapshots"]),
With this change, all 22 tests pass under both the Swift Build & native build systems.
Swift version: Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1), on macOS 27.0
- Lingua principale
- Swift
- Stelle
- 3.8k
- Fork
- 436
- Merge medio
- 4g 11h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apple/swift-argument-parser
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apple/swift-argument-parser#1007 ·
I maintainer di solito rispondono entro 3 giorni
-
Consider making `String.wrapped()` and `Platform.terminalWidth` publicForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apple/swift-argument-parser#973 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Include hidden args in completion scriptsForse già presa @Galileo927 l’ha presa 182 giorni fa. Apertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apple/swift-argument-parser#733 · 7 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
Shared `@OptionGroup` flag is rejected after a subcommand when the root has a passthrough `defaultSubcommand`Forse già presa @sean0407 l’ha presa 22 giorni fa. Aperta
Difficoltà 4/5 1-2 giorni Idoneità per principianti 48/100
apple/swift-argument-parser#994 ·
I maintainer di solito rispondono entro 3 giorni
-
additive change enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
apple/swift-argument-parser#992 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di apple/swift-argument-parser
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Ebullioscopic/Atoll#930 ·
I maintainer di solito rispondono entro 2 giorni
-
area:development bug triage:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
vburojevic/hermes#123 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
jaywcjlove/awesome-mac#4631 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Muesli-HQ/muesli#764 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Dynamic Island: "Tools" and "Files" are the Quick panel and the Shelf under other namesForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
vorssaint/vorssaint-utils#4162 ·
I maintainer di solito rispondono entro 2 giorni