From d56ad25e6b36985a26f1e27f69b53b55705b05e6 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Tue, 25 Aug 2026 23:01:00 +0100 Subject: [PATCH] fixes the tests --- .forgejo/workflows/buildAndTest.yml | 25 ++++++++++ .../PostIt.Tests/SessionStatusBannerTests.cs | 48 +++++++++++-------- src/PostIt/PostIt/App.axaml.cs | 14 +----- 3 files changed, 54 insertions(+), 33 deletions(-) diff --git a/.forgejo/workflows/buildAndTest.yml b/.forgejo/workflows/buildAndTest.yml index a0f3a375..7bfc0c8b 100644 --- a/.forgejo/workflows/buildAndTest.yml +++ b/.forgejo/workflows/buildAndTest.yml @@ -27,6 +27,9 @@ jobs: build: runs-on: docker + container: + # Options cruciales pour donner accès à KVM et autoriser l'émulation + options: --device /dev/kvm --privileged steps: - name: Clone yavsc @@ -44,5 +47,27 @@ jobs: run: cd /src/_src && dotnet restore - name: Build run: cd /src/_src && dotnet build --no-restore + - name: Démarrer l'émulateur QEMU Headless et exécuter les tests + run: | + echo "Démarrage de l'émulateur en tâche de fond..." + # Remplacer 'pixel_5_api_30' par le nom exact de votre AVD créé sur l'hôte + emulator -avd emulator-5554 -no-window -no-audio -no-boot-anim -gpu swiftshader & + EMU_PID=$! + echo "Attente de la détection par ADB..." + adb wait-for-device + echo "Attente de la fin du boot d'Android..." + OUT="" + while [[ "$OUT" != "1" ]]; do + sleep 5 + OUT=$(adb shell getprop sys.boot_completed | tr -d '\r') + echo "Statut actuel : ${OUT:-0}" + done + echo "✅ L'émulateur Android est prêt !" + echo "Installation de l'APK de Debug..." + adb install /src/_src/src/PostIt/PostIt.Android/bin/Debug/net10.0-android/fr.pschneider.postit-Signed.apk + dotnet test /src/_src/src/PostIt/PostIt.Tests/PostIt.Tests.csproj -c Release + - name: Test + echo "⌛ Lancement des tests ..." run: cd /src/_src && dotnet test --no-build --verbosity normal + diff --git a/src/PostIt/PostIt.Tests/SessionStatusBannerTests.cs b/src/PostIt/PostIt.Tests/SessionStatusBannerTests.cs index 0a28ee87..4d49b865 100644 --- a/src/PostIt/PostIt.Tests/SessionStatusBannerTests.cs +++ b/src/PostIt/PostIt.Tests/SessionStatusBannerTests.cs @@ -34,10 +34,10 @@ public class SessionStatusBannerTests [AvaloniaFact] public void Banner_renders_three_buttons_in_the_visual_tree() { - var window = new MainView(); - window.SessionBanner.DataContext = new SessionStatusViewModel(); + MainWindow window = new MainWindow(); + window.Show(); - var buttons = window.SessionBanner.GetVisualDescendants() + var buttons = window.GetVisualDescendants() .OfType