Une toolchain Swift sur Linux, pour ne plus ecrire de dates a l'aveugle
J'ai ecrit `asOf(_:)` hier sans pouvoir le compiler. Swift 6.3 est desormais
installe sur la machine de dev (Debian 12 x86_64) et `tests-linux/` compile
et teste la logique PURE des widgets.
10 tests, dont 5 verifies rouges en neutralisant la peremption. Ils couvrent
la remise a zero, la conservation des objectifs et des zones, le report de la
seance du lendemain, et le passage a l'heure d'hiver du 25 octobre — ou un
`+86400` naif ferait basculer le widget une heure trop tot, la veille au soir.
Les sources du paquet sont des liens symboliques vers les vrais fichiers : le
test porte sur le code livre, pas sur une copie.
⚠️ Ne remplace PAS le build Xcode et ne le remplacera jamais : WidgetKit,
SwiftUI, HealthKit et WatchKit sont absents de Swift pour Linux. Ni l'app, ni
les widgets, ni les vues ne se compilent ici.
This commit is contained in:
13
tests-linux/run.sh
Executable file
13
tests-linux/run.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Tests Swift de la logique pure, sur Linux.
|
||||
#
|
||||
# ⚠️ NE REMPLACE PAS LE BUILD XCODE. WidgetKit, SwiftUI, HealthKit et WatchKit
|
||||
# sont des frameworks Apple : ils n'existent pas dans Swift pour Linux. Ni les
|
||||
# widgets, ni les vues, ni l'app ne se compilent ici — seuls les fichiers qui
|
||||
# n'importent que Foundation.
|
||||
#
|
||||
# Ce que ça couvre vraiment : l'arithmétique de dates de la péremption des
|
||||
# widgets, là où un décalage d'un jour passe inaperçu à la relecture.
|
||||
set -euo pipefail
|
||||
export PATH="/home/coder/workspace/toolchains/bin:$PATH"
|
||||
exec swift test --package-path "$(dirname "$0")" "$@"
|
||||
Reference in New Issue
Block a user