• Class rename: MobilePreTest → MobileTests

• New method added: RunFinalTestAsync() - Performs final mobile tests including SSH verification of setup files
• Calls SSH.MobiletxtCheck() to verify /home/mav/Mobile-Setup-configuration-marker.txt exists on device
• Updates UI with "MobileSetup.sh" pass/fail status
• Mobile Tests/Mobile API.cs (New File Created)
New Method Added: MobiletxtCheck(string IPAddress) - Boolean method to verify setup marker file
• Checks if /home/mav/Mobile-Setup-configuration-marker.txt exists on device via SSH
• Returns exit status 0 (true) if file exists, false otherwise
• Used in RunFinalTestAsync() for setup verification
This commit is contained in:
2026-01-14 11:49:32 +00:00
parent a4c51b0af0
commit 4c74e237c2
3 changed files with 37 additions and 8 deletions

View File

@@ -201,7 +201,7 @@ namespace AiQ_GUI
}
else if (CbBxCamType.Text == "Mobile")
{
await PreTestPassed();
await MobileTests.RunFinalTestAsync();
}
}
@@ -218,7 +218,7 @@ namespace AiQ_GUI
}
else if (CbBxCamType.Text == "Mobile")
{
await MobilePreTest.RunPreTestAsync();
await MobileTests.RunPreTestAsync();
await PreTestPassed();
}
}
@@ -1452,13 +1452,14 @@ namespace AiQ_GUI
//StatsExcel excelExporter = new();
//excelExporter.ExportDatabaseToExcel();
//await MobilePreTest.CheckFirmwareAsync();
FlexiAPI.GetVersions(CamOnTest.IP).Wait();
//await MobileTests.CheckFirmwareAsync();
//FlexiAPI.GetVersions(CamOnTest.IP).Wait();
//VLC.Play(VidView);
//await Task.Delay(5000);
//VLC.TakeSnapshot(VidView);
SSH.MobiletxtCheck("100.118.196.113");
// await MobileAPI.SetDayModeAsync();
// await MobileAPI.SetDayModeAsync();
AddToActionsList("RunTime " + stopWatchTest.Elapsed.ToString(@"hh\:mm\:ss\.ff"), Level.LOG);
}

View File

@@ -9,7 +9,7 @@ namespace AiQ_GUI
public const string SSHPassword = "mavPA$$";
public const string SSHPasswordNEW = "#!mavsoftMESA19"; // New password for SSH after last one got leaked
private static SshClient SshConnect(string IPAddress)
public static SshClient SshConnect(string IPAddress)
{
SshClient client = new(IPAddress, SSHUsername, SSHPasswordNEW);
try
@@ -378,6 +378,24 @@ namespace AiQ_GUI
return false;
}
}
public static bool MobiletxtCheck(string IPAddress)
{
try
{
using (SshClient client = SshConnect(IPAddress))
{
// test -f returns exit status 0 if file exists
SshCommand checkDevice = client.RunCommand("test -f /home/mav/Mobile-Setup-configuration-marker.txt"
);
return checkDevice.ExitStatus == 0;
}
}
catch (Exception ex)
{
MainForm.Instance.AddToActionsList($"Can't check txt file: Error {ex}", Level.ERROR);
return false;
}
}
public static void Sync(string IPAddress)
{

View File

@@ -4,7 +4,7 @@ using System.Threading.Tasks;
namespace AiQ_GUI.Mobile_Tests
{
public static class MobilePreTest
public static class MobileTests
{
public static async Task RunPreTestAsync()
{
@@ -48,7 +48,17 @@ namespace AiQ_GUI.Mobile_Tests
public static async Task RunFinalTestAsync()
{
// Placeholder for any final tests if needed in the future
//RunPreTestAsync().Wait();
//SSH.MobiletxtCheck(MainForm.Instance.CamOnTest.IP);// Verify mobile.txt presence
if (SSH.MobiletxtCheck(MainForm.Instance.CamOnTest.IP) == true)
{
MainForm.Instance.AddLabelToPanel("MobileSetup.sh = True", false);
}
else
{
MainForm.Instance.AddToActionsList("MobileSetup.sh test failed: mobile.txt not found on device.", Level.ERROR);
MainForm.Instance.AddLabelToPanel("MobileSetup.sh = False", true);
}
}
private static async Task TestDayNightMode()