mirror of
				https://github.com/meshtastic/firmware.git
				synced 2025-10-28 23:34:03 +00:00 
			
		
		
		
	 3c1f92ce84
			
		
	
	
		3c1f92ce84
		
			
		
	
	
	
		
			
	
		
	
	
		
			Some checks failed
		
		
	
	Daily Packaging / docker-multiarch (push) Has been cancelled
				
			Daily Packaging / package-ppa (jammy) (push) Has been cancelled
				
			Daily Packaging / package-ppa (noble) (push) Has been cancelled
				
			Daily Packaging / package-ppa (oracular) (push) Has been cancelled
				
			Daily Packaging / package-ppa (plucky) (push) Has been cancelled
				
			Daily Packaging / package-obs (push) Has been cancelled
				
			Daily Packaging / hook-copr (push) Has been cancelled
				
			CI / setup (check) (push) Has been cancelled
				
			CI / setup (esp32) (push) Has been cancelled
				
			CI / setup (esp32c3) (push) Has been cancelled
				
			CI / setup (esp32c6) (push) Has been cancelled
				
			CI / setup (esp32s3) (push) Has been cancelled
				
			CI / setup (nrf52840) (push) Has been cancelled
				
			CI / setup (rp2040) (push) Has been cancelled
				
			CI / setup (stm32) (push) Has been cancelled
				
			CI / build-debian-src (push) Has been cancelled
				
			CI / package-pio-deps-native-tft (push) Has been cancelled
				
			CI / test-native (push) Has been cancelled
				
			CI / docker-debian-amd64 (push) Has been cancelled
				
			CI / docker-alpine-amd64 (push) Has been cancelled
				
			CI / docker-debian-arm64 (push) Has been cancelled
				
			CI / docker-debian-armv7 (push) Has been cancelled
				
			CI / check (push) Has been cancelled
				
			CI / build-esp32 (push) Has been cancelled
				
			CI / build-esp32-s3 (push) Has been cancelled
				
			CI / build-esp32-c3 (push) Has been cancelled
				
			CI / build-esp32-c6 (push) Has been cancelled
				
			CI / build-nrf52 (push) Has been cancelled
				
			CI / build-rpi2040 (push) Has been cancelled
				
			CI / build-stm32 (push) Has been cancelled
				
			CI / after-checks (push) Has been cancelled
				
			CI / gather-artifacts (esp32) (push) Has been cancelled
				
			CI / gather-artifacts (esp32c3) (push) Has been cancelled
				
			CI / gather-artifacts (esp32c6) (push) Has been cancelled
				
			CI / gather-artifacts (esp32s3) (push) Has been cancelled
				
			CI / gather-artifacts (nrf52840) (push) Has been cancelled
				
			CI / gather-artifacts (rp2040) (push) Has been cancelled
				
			CI / gather-artifacts (stm32) (push) Has been cancelled
				
			CI / release-artifacts (push) Has been cancelled
				
			CI / release-firmware (esp32) (push) Has been cancelled
				
			CI / release-firmware (esp32c3) (push) Has been cancelled
				
			CI / release-firmware (esp32c6) (push) Has been cancelled
				
			CI / release-firmware (esp32s3) (push) Has been cancelled
				
			CI / release-firmware (nrf52840) (push) Has been cancelled
				
			CI / release-firmware (rp2040) (push) Has been cancelled
				
			CI / release-firmware (stm32) (push) Has been cancelled
				
			* fix example * check for firmware- filename * add powershell formatter setting * add crlf for ps1 * formatting * check for firmware- filename --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
		
			
				
	
	
		
			113 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
| <#
 | |
|     .SYNOPSIS
 | |
|     Unit-test for .\device-install.bat.
 | |
| 
 | |
|     .DESCRIPTION
 | |
|     This script performs a positive unit-test on .\device-install.bat by creating the expected .bin
 | |
|     files for a device followed by running the .bat script without flashing the firmware (--debug).
 | |
|     If any errors are hit they are presented in the standard output. Investigate accordingly.
 | |
| 
 | |
|     This script needs to be placed in the same directory as .\device-install.bat.
 | |
| 
 | |
|     .EXAMPLE
 | |
|     .\device-install_test.ps1
 | |
| 
 | |
|     .EXAMPLE
 | |
|     .\device-install_test.ps1 -Verbose
 | |
| 
 | |
|     .LINK
 | |
|     .\device-install.bat --help
 | |
| #>
 | |
| 
 | |
| [CmdletBinding()]
 | |
| param()
 | |
| 
 | |
| function New-EmptyFile() {
 | |
|     [CmdletBinding()]
 | |
|     param (
 | |
|         [Parameter(Position = 0, Mandatory = $true)]
 | |
|         # Specifies the file name.
 | |
|         [string]$FileName,
 | |
|         [Parameter(Position = 1)]
 | |
|         # Specifies the target path. (Get-Location).Path is the default.
 | |
|         [string]$Directory = (Get-Location).Path
 | |
|     )
 | |
| 
 | |
|     $filePath = Join-Path -Path $Directory -ChildPath $FileName
 | |
| 
 | |
|     Write-Verbose -Message "Create empty test file if it doesn't exist: $($FileName)"
 | |
|     New-Item -Path "$filePath" -ItemType File -ErrorAction SilentlyContinue | Out-Null
 | |
| }
 | |
| 
 | |
| function Remove-EmptyFile() {
 | |
|     [CmdletBinding()]
 | |
|     param (
 | |
|         [Parameter(Position = 0, Mandatory = $true)]
 | |
|         # Specifies the file name.
 | |
|         [string]$FileName,
 | |
|         [Parameter(Position = 1)]
 | |
|         # Specifies the target path. (Get-Location).Path is the default.
 | |
|         [string]$Directory = (Get-Location).Path
 | |
|     )
 | |
| 
 | |
|     $filePath = Join-Path -Path $Directory -ChildPath $FileName
 | |
| 
 | |
|     Write-Verbose -Message "Deleted empty test file: $($FileName)"
 | |
|     Remove-Item -Path "$filePath" | Out-Null
 | |
| }
 | |
| 
 | |
| 
 | |
| $TestCases = New-Object -TypeName PSObject -Property @{
 | |
|     # Use this PSObject to define testcases according to this syntax:
 | |
|     # "testname" = @("firmware-testname","bleota","littlefs-testname","args")
 | |
|     "t-deck"                       = @("firmware-t-deck-2.6.0.0b106d4.bin", "bleota-s3.bin", "littlefs-t-deck-2.6.0.0b106d4.bin", "")
 | |
|     "t-deck_web"                   = @("firmware-t-deck-2.6.0.0b106d4.bin", "bleota-s3.bin", "littlefswebui-t-deck-2.6.0.0b106d4.bin", "--web")
 | |
|     "t-deck-tft"                   = @("firmware-t-deck-tft-2.6.0.0b106d4.bin", "bleota-s3.bin", "littlefs-t-deck-tft-2.6.0.0b106d4.bin", "")
 | |
|     "heltec-ht62-esp32c3"          = @("firmware-heltec-ht62-esp32c3-sx1262-2.6.0.0b106d4.bin", "bleota-c3.bin", "littlefs-heltec-ht62-esp32c3-sx1262-2.6.0.0b106d4.bin", "")
 | |
|     "tlora-c6"                     = @("firmware-tlora-c6-2.6.0.0b106d4.bin", "bleota.bin", "littlefs-tlora-c6-2.6.0.0b106d4.bin", "")
 | |
|     "heltec-v3_web"                = @("firmware-heltec-v3-2.6.0.0b106d4.bin", "bleota-s3.bin", "littlefswebui-heltec-v3-2.6.0.0b106d4.bin", "--web")
 | |
|     "seeed-sensecap-indicator-tft" = @("firmware-seeed-sensecap-indicator-tft-2.6.0.0b106d4.bin", "bleota.bin", "littlefs-seeed-sensecap-indicator-tft-2.6.0.0b106d4.bin", "")
 | |
|     "picomputer-s3-tft"            = @("firmware-picomputer-s3-tft-2.6.0.0b106d4.bin", "bleota-s3.bin", "littlefs-picomputer-s3-tft-2.6.0.0b106d4.bin", "")
 | |
| }
 | |
| 
 | |
| foreach ($TestCase in $TestCases.PSObject.Properties) {
 | |
|     $Name = $TestCase.Name
 | |
|     $Files = $TestCase.Value
 | |
|     $Errors = $null
 | |
|     $Counter = 0
 | |
| 
 | |
|     Write-Host -Object "Testcase: $Name`:" -ForegroundColor Green
 | |
|     foreach ($File in $Files) {
 | |
|         if ($File.EndsWith(".bin")) {
 | |
|             New-EmptyFile -FileName $File
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     Write-Host -Object "Performing test on $Name..." -ForegroundColor Blue
 | |
|     $Test = Invoke-Expression -Command "cmd /c .\device-install.bat --debug -f $($TestCases."$Name"[0]) $($TestCases."$Name"[3])"
 | |
| 
 | |
|     foreach ($Line in $Test) {
 | |
|         if ($Line -match "Set OTA_OFFSET to" -or `
 | |
|                 $Line -match "Set SPIFFS_OFFSET to") {
 | |
|             Write-Host -Object "$($Line -replace "^.*?Set","Set")" -ForegroundColor Blue
 | |
|         }
 | |
|         elseif ($VerbosePreference -eq "Continue") {
 | |
|             Write-Host -Object $Line
 | |
|         }
 | |
|         if ($Line -match "ERROR") {
 | |
|             $Errors += $Line
 | |
|             $Counter++
 | |
|         }
 | |
|     }
 | |
|     if ($null -ne $Errors) {
 | |
|         Write-Host -Object "$Counter ERROR(s) detected!" -ForegroundColor Red
 | |
|         if (-not ($VerbosePreference -eq "Continue")) { Write-Host -Object $Errors }
 | |
|     }
 | |
| 
 | |
|     foreach ($File in $Files) {
 | |
|         if ($File.EndsWith(".bin")) {
 | |
|             Remove-EmptyFile -FileName $File
 | |
|         }
 | |
|     }
 | |
| }
 |