diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml
index 4d670f79..ed8a8f87 100644
--- a/.github/workflows/github-actions.yml
+++ b/.github/workflows/github-actions.yml
@@ -63,7 +63,7 @@ jobs:
msbuild \
"Laerdal.Builder.targets" \
-m:1 \
- -p:ShouldSkipMacCatalyst="false" \
+ -p:Should_Skip_MacCatalyst="false" \
\
-p:PackageOutputPath="${{env.BUILD_REPOSITORY_FOLDERPATH}}/Artifacts" \
-p:Laerdal_Gradle_Path="/opt/homebrew/opt/gradle@7/bin/gradle" \
diff --git a/Laerdal.McuMgr.Bindings.MacCatalystAndIos.Native/Laerdal.Mac.CompileAndGenerateFatLibs.sh b/Laerdal.McuMgr.Bindings.MacCatalystAndIos.Native/Laerdal.Mac.CompileAndGenerateFatLibs.sh
index 95f024dc..2e7c9e2b 100755
--- a/Laerdal.McuMgr.Bindings.MacCatalystAndIos.Native/Laerdal.Mac.CompileAndGenerateFatLibs.sh
+++ b/Laerdal.McuMgr.Bindings.MacCatalystAndIos.Native/Laerdal.Mac.CompileAndGenerateFatLibs.sh
@@ -8,12 +8,20 @@
#
# Note that all parameters passed to xcodebuild must be in the form of -parameter value instead of --parameter
-declare SDK_VERSION="" # xcodebuild -showsdks
declare XCODEBUILD_TARGET_SDK="${XCODEBUILD_TARGET_SDK:-iphoneos}"
+declare XCODEBUILD_TARGET_SDK_VERSION="${XCODEBUILD_TARGET_SDK_VERSION}" # xcodebuild -showsdks
+
+if [ "$XCODEBUILD_TARGET_SDK" == "iphoneos" ] && [ -z "$XCODEBUILD_TARGET_SDK_VERSION" ]; then # ios
+ XCODEBUILD_TARGET_SDK_VERSION="17.2"
+
+elif [ "$XCODEBUILD_TARGET_SDK" == "macosx" ] && [ -z "$XCODEBUILD_TARGET_SDK_VERSION" ]; then # maccatalyst
+ XCODEBUILD_TARGET_SDK_VERSION="14.2"
+fi
+
declare SWIFT_BUILD_CONFIGURATION="${SWIFT_BUILD_CONFIGURATION:-Release}"
declare SUPPORTS_MACCATALYST="${SUPPORTS_MACCATALYST:-NO}"
-declare XCODEBUILD_TARGET_SDK_WITH_VERSION_IF_ANY="$XCODEBUILD_TARGET_SDK$SDK_VERSION" # if the version is the empty string then the latest version of the sdk will be used which is fine
+declare XCODEBUILD_TARGET_SDK_WITH_VERSION_IF_ANY="$XCODEBUILD_TARGET_SDK$XCODEBUILD_TARGET_SDK_VERSION"
declare SWIFT_OUTPUT_PATH="${SWIFT_OUTPUT_PATH:-./VendorFrameworks/swift-framework-proxy/}"
@@ -38,6 +46,8 @@ function print_macos_sdks() {
echo "** xcode version : '$( "xcodebuild" -version )'"
echo "** xcode sdks :"
xcodebuild -showsdks
+ echo "** xcode sdks visible to sharpie :"
+ sharpie xcode -sdks
echo
echo "** SWIFT_BUILD_PATH : '$SWIFT_BUILD_PATH' "
@@ -51,9 +61,9 @@ function print_macos_sdks() {
echo "** OUTPUT_FOLDER_NAME : '$OUTPUT_FOLDER_NAME' "
echo "** OUTPUT_SHARPIE_HEADER_FILES_PATH : '$OUTPUT_SHARPIE_HEADER_FILES_PATH' "
echo
- echo "** SDK_VERSION : '${SDK_VERSION:-(No specific version specified so the latest version will be used)}'"
echo "** SUPPORTS_MACCATALYST : '$SUPPORTS_MACCATALYST' "
echo "** XCODEBUILD_TARGET_SDK : '$XCODEBUILD_TARGET_SDK' "
+ echo "** XCODEBUILD_TARGET_SDK_VERSION : '${XCODEBUILD_TARGET_SDK_VERSION:-(No specific version specified so the latest version will be used)}'"
echo "** XCODEBUILD_TARGET_SDK_WITH_VERSION_IF_ANY : '$XCODEBUILD_TARGET_SDK_WITH_VERSION_IF_ANY' "
echo
}
@@ -168,6 +178,7 @@ function create_fat_binaries() {
fi
echo "**** (FatBinaries 5/8) Generating binding api definition and structs"
+ set -x
sharpie \
bind \
-sdk "$XCODEBUILD_TARGET_SDK_WITH_VERSION_IF_ANY" \
@@ -177,6 +188,7 @@ function create_fat_binaries() {
"$SWIFT_OUTPUT_PATH/$SWIFT_PROJECT_NAME.framework/Headers/$SWIFT_PROJECT_NAME-Swift.h" \
-clang -arch arm64 # vital needed for mac-catalyst
local exitCode=$?
+ set +x
if [ $exitCode -ne 0 ]; then
echo "** [FAILED] Failed to generate binding api definitions and structs"
diff --git a/Laerdal.McuMgr.Bindings.iOS/Laerdal.McuMgr.Bindings.iOS.csproj b/Laerdal.McuMgr.Bindings.iOS/Laerdal.McuMgr.Bindings.iOS.csproj
index b8c91419..73425131 100644
--- a/Laerdal.McuMgr.Bindings.iOS/Laerdal.McuMgr.Bindings.iOS.csproj
+++ b/Laerdal.McuMgr.Bindings.iOS/Laerdal.McuMgr.Bindings.iOS.csproj
@@ -159,7 +159,7 @@
-
+
diff --git a/Laerdal.McuMgr.Tests/DeviceResetter/DeviceResetterTestbed.cs b/Laerdal.McuMgr.Tests/DeviceResetter/DeviceResetterTestbed.cs
index b6c26c02..7dd9efe6 100644
--- a/Laerdal.McuMgr.Tests/DeviceResetter/DeviceResetterTestbed.cs
+++ b/Laerdal.McuMgr.Tests/DeviceResetter/DeviceResetterTestbed.cs
@@ -2,7 +2,6 @@
using Laerdal.McuMgr.DeviceResetter.Contracts;
using Laerdal.McuMgr.DeviceResetter.Contracts.Enums;
using Laerdal.McuMgr.DeviceResetter.Contracts.Native;
-using GenericNativeDeviceResetterCallbacksProxy_ = Laerdal.McuMgr.DeviceResetter.DeviceResetter.GenericNativeDeviceResetterCallbacksProxy;
namespace Laerdal.McuMgr.Tests.DeviceResetter
{
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.BeginDownload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.BeginDownload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
index a97dd0a5..d7360630 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.BeginDownload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.BeginDownload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
@@ -59,9 +59,9 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Idle, EFileDownloaderState.Downloading);
await Task.Delay(20);
- DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData);
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
index 9221fa63..b88a9a36 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
@@ -51,8 +51,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Idle, EFileDownloaderState.Downloading);
await Task.Delay(20);
- DownloadCompletedAdvertisement(remoteFilePath, new byte[] { });
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, new byte[] { }); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
index d4d7455d..e6046e37 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
@@ -96,23 +96,26 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
var remoteFilePathUppercase = remoteFilePath.ToUpperInvariant();
if (remoteFilePathUppercase.Contains("some/file/that/exist/but/is/erroring/out/when/we/try/to/download/it.bin".ToUpperInvariant()))
{
+ StateChangedAdvertisement(remoteFilePath, oldState: EFileDownloaderState.Downloading, newState: EFileDownloaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "foobar");
}
else if (remoteFilePathUppercase.Contains("some/file/that/doesnt/exist.bin".ToUpperInvariant()))
{
+ StateChangedAdvertisement(remoteFilePath, oldState: EFileDownloaderState.Downloading, newState: EFileDownloaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "NO ENTRY (5)");
}
else if (remoteFilePathUppercase.Contains("some/file/that/exist/and/completes/after/a/couple/of/attempts.bin".ToUpperInvariant())
&& _retryCountForProblematicFile++ < 3)
{
+ StateChangedAdvertisement(remoteFilePath, oldState: EFileDownloaderState.Downloading, newState: EFileDownloaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "ping pong");
}
else
{
_expectedResults.TryGetValue(remoteFilePath, out var expectedFileContent);
- DownloadCompletedAdvertisement(remoteFilePath, expectedFileContent);
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, expectedFileContent); // order
}
});
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
index fbf42411..8981bd7a 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
@@ -59,8 +59,9 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Idle, EFileDownloaderState.Downloading);
await Task.Delay(20);
- DownloadCompletedAdvertisement(remoteFilePath, new byte[] { });
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, new byte[] { }); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
index d129de97..b0525551 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.MultipleFilesDownloadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
@@ -50,8 +50,9 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Idle, EFileDownloaderState.Downloading);
await Task.Delay(20);
- DownloadCompletedAdvertisement(remoteFilePath, new byte[] { });
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, new byte[] { }); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
index b4ffd76b..be38c0c6 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
@@ -103,9 +103,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
return;
}
- DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData);
-
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenFatalErrorMidflight.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenFatalErrorMidflight.cs
index 448ebe5f..02a66276 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenFatalErrorMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenFatalErrorMidflight.cs
@@ -83,9 +83,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
await Task.Delay(2_000);
- FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred");
-
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Error);
+ FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred");
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenRogueNativeErrorMessage.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
index a9e39828..ecf07e72 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowAllDownloadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
@@ -94,9 +94,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound);
-
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Error);
+ FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
index 440b8646..6c5ddf2f 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
@@ -55,9 +55,9 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Idle, EFileDownloaderState.Downloading);
await Task.Delay(20);
- DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData);
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadCancelledException_GivenCancellationRequestMidflight.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadCancelledException_GivenCancellationRequestMidflight.cs
index 8a2c8567..8da54ee3 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadCancelledException_GivenCancellationRequestMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadCancelledException_GivenCancellationRequestMidflight.cs
@@ -115,9 +115,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
if (_cancellationTokenSource.IsCancellationRequested)
return;
- DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData);
-
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, _mockedFileData); // order
}, _cancellationTokenSource.Token);
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadTimeoutException_GivenTooSmallTimeout.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadTimeoutException_GivenTooSmallTimeout.cs
index 4226150b..01d543ad 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadTimeoutException_GivenTooSmallTimeout.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowDownloadTimeoutException_GivenTooSmallTimeout.cs
@@ -58,10 +58,13 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
Task.Run(async () => //00 vital
{
await Task.Delay(10);
+
StateChangedAdvertisement(resource: remoteFilePath, oldState: EFileDownloaderState.Idle, newState: EFileDownloaderState.Downloading);
await Task.Delay(1_000);
- StateChangedAdvertisement(resource: remoteFilePath, oldState: EFileDownloaderState.Downloading, newState: EFileDownloaderState.Complete);
+
+ StateChangedAdvertisement(resource: remoteFilePath, oldState: EFileDownloaderState.Downloading, newState: EFileDownloaderState.Complete); // order
+ DownloadCompletedAdvertisement(remoteFilePath, new byte[]{}); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowRemoteFileNotFoundException_GivenNonExistentFilepath.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowRemoteFileNotFoundException_GivenNonExistentFilepath.cs
index 6afb1f02..cba86ed4 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowRemoteFileNotFoundException_GivenNonExistentFilepath.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.SingleFileDownloadAsync.ShouldThrowRemoteFileNotFoundException_GivenNonExistentFilepath.cs
@@ -97,9 +97,8 @@ public override EFileDownloaderVerdict BeginDownload(string remoteFilePath)
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound);
-
- StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Error);
+ StateChangedAdvertisement(remoteFilePath, EFileDownloaderState.Downloading, EFileDownloaderState.Error); // order simulates how the native code behaves
+ FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound); // order simulates how the csharp wrapper behaves
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.cs b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.cs
index 6c216d27..a4f9c319 100644
--- a/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.cs
+++ b/Laerdal.McuMgr.Tests/FileDownloader/FileDownloaderTestbed.cs
@@ -2,7 +2,6 @@
using Laerdal.McuMgr.FileDownloader.Contracts;
using Laerdal.McuMgr.FileDownloader.Contracts.Enums;
using Laerdal.McuMgr.FileDownloader.Contracts.Native;
-using GenericNativeFileDownloaderCallbacksProxy_ = Laerdal.McuMgr.FileDownloader.FileDownloader.GenericNativeFileDownloaderCallbacksProxy;
namespace Laerdal.McuMgr.Tests.FileDownloader
{
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.BeginUpload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.BeginUpload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
index a9e1991c..c9398157 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.BeginUpload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.BeginUpload.ShouldThrowArgumentException_GivenInvalidRemoteFilePath.cs
@@ -56,9 +56,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] m
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
await Task.Delay(20);
- FileUploadedAdvertisement(remoteFilePath);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete); // order
+ FileUploadedAdvertisement(remoteFilePath); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
index 2e3ee42d..a12c4c65 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenNoFilesToDownload.cs
@@ -50,8 +50,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
await Task.Delay(20);
- FileUploadedAdvertisement(remoteFilePath);
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
index 9265791e..a90925b9 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldCompleteSuccessfully_GivenVariousFilesToDownload.cs
@@ -35,7 +35,7 @@ public async Task MultipleFilesUploadAsync_ShouldCompleteSuccessfully_GivenVario
{ " /Some/File/Path.bin ", new byte[] { 1 } }, //intentionally included multiple times to test that we handle case sensitivity correctly
{ "\t/some/file/that/succeeds/after/a/couple/of/attempts.bin ", new byte[] { 0 } },
{ " /some/file/that/succeeds/after/a/couple/of/attempts.bin ", new byte[] { 1 } }, //intentionally included multiple times to test whether the mechanism will attempt to upload the file only once
-
+
{ " /some/file/to/a/folder/that/doesnt/exist.bin ", new byte[] { 0 } },
{ "\n some/file/that/is/erroring/out/when/we/try/to/upload/it.bin ", new byte[] { 0 } },
{ "\r/some/file/that/is/erroring/out/when/we/try/to/upload/it.bin ", new byte[] { 1 } }, //intentionally included multiple times to test whether the mechanism will attempt to upload the file only once
@@ -54,7 +54,7 @@ public async Task MultipleFilesUploadAsync_ShouldCompleteSuccessfully_GivenVario
"/some/file/to/a/folder/that/doesnt/exist.bin",
"/some/file/that/is/erroring/out/when/we/try/to/upload/it.bin"
});
-
+
eventsMonitor.OccurredEvents
.Count(args => args.EventName == nameof(fileUploader.FileUploaded))
.Should()
@@ -63,7 +63,7 @@ public async Task MultipleFilesUploadAsync_ShouldCompleteSuccessfully_GivenVario
eventsMonitor.OccurredEvents
.Count(args => args.EventName == nameof(fileUploader.FatalErrorOccurred))
.Should().Be(8);
-
+
mockedNativeFileUploaderProxy.CancelCalled.Should().BeFalse();
mockedNativeFileUploaderProxy.DisconnectCalled.Should().BeFalse(); //00
mockedNativeFileUploaderProxy.BeginUploadCalled.Should().BeTrue();
@@ -86,27 +86,30 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
{
await Task.Delay(10);
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
-
+
await Task.Delay(20);
-
+
var remoteFilePathUppercase = remoteFilePath.ToUpperInvariant();
if (remoteFilePathUppercase.Contains("some/file/to/a/folder/that/doesnt/exist.bin".ToUpperInvariant()))
{
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "UNKNOWN (1)", EMcuMgrErrorCode.Unknown, EFileUploaderGroupReturnCode.Unset);
}
else if (remoteFilePathUppercase.Contains("some/file/that/succeeds/after/a/couple/of/attempts.bin".ToUpperInvariant())
&& _retryCountForProblematicFile++ < 3)
{
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "ping pong", EMcuMgrErrorCode.Busy, EFileUploaderGroupReturnCode.Unset);
- }
+ }
else if (remoteFilePathUppercase.Contains("some/file/that/is/erroring/out/when/we/try/to/upload/it.bin".ToUpperInvariant()))
{
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
FatalErrorOccurredAdvertisement(remoteFilePath, "native symbols not loaded blah blah", EMcuMgrErrorCode.NotSupported, EFileUploaderGroupReturnCode.Unset);
}
else
{
- FileUploadedAdvertisement(remoteFilePath);
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete); //order
+ FileUploadedAdvertisement(remoteFilePath); //order
}
});
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
index b5d31cf0..c40c7949 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowArgumentException_GivenPathCollectionWithErroneousFilesToDownload.cs
@@ -59,8 +59,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
await Task.Delay(20);
- FileUploadedAdvertisement(remoteFilePath);
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
index 4e80eef8..6dc97e0f 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.MultipleFilesUploadAsync.ShouldThrowNullArgumentException_GivenNullForFilesToDownload.cs
@@ -50,8 +50,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
await Task.Delay(20);
- FileUploadedAdvertisement(remoteFilePath);
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
index 3e923982..2813645a 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
@@ -101,9 +101,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
return;
}
- FileUploadedAdvertisement(remoteFilePath);
-
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenFatalErrorMidflight.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenFatalErrorMidflight.cs
index 392e4148..4857cbfa 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenFatalErrorMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenFatalErrorMidflight.cs
@@ -84,9 +84,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(2_000);
- FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred", EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error); // order
+ FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred", EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenRogueNativeErrorMessage.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
index 4d9f0ed8..07918f0a 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowAllUploadAttemptsFailedException_GivenRogueNativeErrorMessage.cs
@@ -94,9 +94,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound, EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error); // order
+ FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound, EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
index bc376a31..94dd02c2 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowArgumentException_GivenEmptyRemoteFilePath.cs
@@ -52,9 +52,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Idle, EFileUploaderState.Uploading);
await Task.Delay(20);
- FileUploadedAdvertisement(remoteFilePath);
-
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowRemoteFolderNotFoundException_GivenNonExistentFilepath.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowRemoteFolderNotFoundException_GivenNonExistentFilepath.cs
index d8019770..8ec98478 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowRemoteFolderNotFoundException_GivenNonExistentFilepath.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowRemoteFolderNotFoundException_GivenNonExistentFilepath.cs
@@ -111,9 +111,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound, _mcuMgrErrorCode, EFileUploaderGroupReturnCode.Unset);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error); // order
+ FatalErrorOccurredAdvertisement(remoteFilePath, _nativeErrorMessageForFileNotFound, _mcuMgrErrorCode, EFileUploaderGroupReturnCode.Unset); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUnauthorizedErrorException_GivenAccessDeniedNativeErrorMessage.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUnauthorizedErrorException_GivenAccessDeniedNativeErrorMessage.cs
index 53ec861f..bde5a23c 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUnauthorizedErrorException_GivenAccessDeniedNativeErrorMessage.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUnauthorizedErrorException_GivenAccessDeniedNativeErrorMessage.cs
@@ -1,6 +1,5 @@
using FluentAssertions;
using Laerdal.McuMgr.Common.Enums;
-using Laerdal.McuMgr.Common.Exceptions;
using Laerdal.McuMgr.FileUploader.Contracts.Enums;
using Laerdal.McuMgr.FileUploader.Contracts.Exceptions;
using Laerdal.McuMgr.FileUploader.Contracts.Native;
@@ -49,9 +48,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(remoteFilePath, "blah blah", EMcuMgrErrorCode.AccessDenied, EFileUploaderGroupReturnCode.Unset);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error); // order
+ FatalErrorOccurredAdvertisement(remoteFilePath, "blah blah", EMcuMgrErrorCode.AccessDenied, EFileUploaderGroupReturnCode.Unset); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadCancelledException_GivenCancellationRequestMidflight.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadCancelledException_GivenCancellationRequestMidflight.cs
index d5f4385c..6391e52e 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadCancelledException_GivenCancellationRequestMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadCancelledException_GivenCancellationRequestMidflight.cs
@@ -112,9 +112,8 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
if (_cancellationTokenSource.IsCancellationRequested)
return;
- FileUploadedAdvertisement(remoteFilePath);
-
StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
}, _cancellationTokenSource.Token);
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadTimeoutException_GivenTooSmallTimeout.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadTimeoutException_GivenTooSmallTimeout.cs
index 5220ae15..2cf1044a 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadTimeoutException_GivenTooSmallTimeout.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleFileUploadAsync.ShouldThrowUploadTimeoutException_GivenTooSmallTimeout.cs
@@ -66,6 +66,7 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(1_000);
StateChangedAdvertisement(resource: remoteFilePath, oldState: EFileUploaderState.Uploading, newState: EFileUploaderState.Complete);
+ FileUploadedAdvertisement(remoteFilePath);
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleStreamUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleStreamUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
index 3892e2e9..890039ed 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleStreamUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.SingleStreamUploadAsync.ShouldCompleteSuccessfully_GivenGreenNativeFileDownloader.cs
@@ -98,14 +98,13 @@ public override EFileUploaderVerdict BeginUpload(string remoteFilePath, byte[] d
await Task.Delay(20);
if (_tryCount < _maxNumberOfTriesForSuccess)
{
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error);
- FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred", EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Error); // order
+ FatalErrorOccurredAdvertisement(remoteFilePath, "fatal error occurred", EMcuMgrErrorCode.Corrupt, EFileUploaderGroupReturnCode.Unset); // order
return;
}
- FileUploadedAdvertisement(remoteFilePath);
-
- StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete);
+ StateChangedAdvertisement(remoteFilePath, EFileUploaderState.Uploading, EFileUploaderState.Complete); // order
+ FileUploadedAdvertisement(remoteFilePath); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.cs b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.cs
index c3d227a6..5dbc7fcd 100644
--- a/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.cs
+++ b/Laerdal.McuMgr.Tests/FileUploader/FileUploaderTestbed.cs
@@ -2,7 +2,6 @@
using Laerdal.McuMgr.FileUploader.Contracts;
using Laerdal.McuMgr.FileUploader.Contracts.Enums;
using Laerdal.McuMgr.FileUploader.Contracts.Native;
-using GenericNativeFileUploaderCallbacksProxy_ = Laerdal.McuMgr.FileUploader.FileUploader.GenericNativeFileUploaderCallbacksProxy;
namespace Laerdal.McuMgr.Tests.FileUploader
{
diff --git a/Laerdal.McuMgr.Tests/FirmwareEraser/FirmwareEraserTestbed.cs b/Laerdal.McuMgr.Tests/FirmwareEraser/FirmwareEraserTestbed.cs
index 5423c486..9010f196 100644
--- a/Laerdal.McuMgr.Tests/FirmwareEraser/FirmwareEraserTestbed.cs
+++ b/Laerdal.McuMgr.Tests/FirmwareEraser/FirmwareEraserTestbed.cs
@@ -2,7 +2,6 @@
using Laerdal.McuMgr.FirmwareEraser.Contracts;
using Laerdal.McuMgr.FirmwareEraser.Contracts.Enums;
using Laerdal.McuMgr.FirmwareEraser.Contracts.Native;
-using GenericNativeFirmwareEraserCallbacksProxy_ = Laerdal.McuMgr.FirmwareEraser.FirmwareEraser.GenericNativeFirmwareEraserCallbacksProxy;
namespace Laerdal.McuMgr.Tests.FirmwareEraser
{
diff --git a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenFirmwareUploadFatalErrorMidflight.cs b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenFirmwareUploadFatalErrorMidflight.cs
index 37fdfe0b..76408798 100644
--- a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenFirmwareUploadFatalErrorMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenFirmwareUploadFatalErrorMidflight.cs
@@ -104,8 +104,8 @@ public override EFirmwareInstallationVerdict BeginInstallation(
StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Testing);
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallerFatalErrorType.FirmwareUploadingErroredOut, "error while uploading firmware blah blah");
- StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error);
+ StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error); // order
+ FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallerFatalErrorType.FirmwareUploadingErroredOut, "error while uploading firmware blah blah"); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenGenericFatalErrorMidflight.cs b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenGenericFatalErrorMidflight.cs
index eb4040d1..f4ff1a6f 100644
--- a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenGenericFatalErrorMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowAllFirmwareInstallationAttemptsFailedException_GivenGenericFatalErrorMidflight.cs
@@ -93,8 +93,8 @@ public override EFirmwareInstallationVerdict BeginInstallation(
StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Testing);
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Confirming, EFirmwareInstallerFatalErrorType.Generic, "fatal error occurred");
- StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error);
+ StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error); // order
+ FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Confirming, EFirmwareInstallerFatalErrorType.Generic, "fatal error occurred"); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowFirmwareInstallationImageSwapTimeoutException_GivenFatalErrorMidflight.cs b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowFirmwareInstallationImageSwapTimeoutException_GivenFatalErrorMidflight.cs
index 6507ba92..74b8ca50 100644
--- a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowFirmwareInstallationImageSwapTimeoutException_GivenFatalErrorMidflight.cs
+++ b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.InstallAsync.ShouldThrowFirmwareInstallationImageSwapTimeoutException_GivenFatalErrorMidflight.cs
@@ -91,8 +91,8 @@ public override EFirmwareInstallationVerdict BeginInstallation(
StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Testing);
await Task.Delay(100);
- FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Confirming, EFirmwareInstallerFatalErrorType.FirmwareImageSwapTimeout, "image swap timeout");
- StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error);
+ StateChangedAdvertisement(EFirmwareInstallationState.Uploading, EFirmwareInstallationState.Error); // order
+ FatalErrorOccurredAdvertisement(EFirmwareInstallationState.Confirming, EFirmwareInstallerFatalErrorType.FirmwareImageSwapTimeout, "image swap timeout"); // order
});
return verdict;
diff --git a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.cs b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.cs
index bf282a08..c5c57e48 100644
--- a/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.cs
+++ b/Laerdal.McuMgr.Tests/FirmwareInstaller/FirmwareInstallerTestbed.cs
@@ -2,7 +2,6 @@
using Laerdal.McuMgr.FirmwareInstaller.Contracts;
using Laerdal.McuMgr.FirmwareInstaller.Contracts.Enums;
using Laerdal.McuMgr.FirmwareInstaller.Contracts.Native;
-using GenericNativeFirmwareInstallerCallbacksProxy_ = Laerdal.McuMgr.FirmwareInstaller.FirmwareInstaller.GenericNativeFirmwareInstallerCallbacksProxy;
namespace Laerdal.McuMgr.Tests.FirmwareInstaller
{
diff --git a/Laerdal.McuMgr/Laerdal.McuMgr.csproj b/Laerdal.McuMgr/Laerdal.McuMgr.csproj
index 2ef1935e..3782687d 100644
--- a/Laerdal.McuMgr/Laerdal.McuMgr.csproj
+++ b/Laerdal.McuMgr/Laerdal.McuMgr.csproj
@@ -13,8 +13,8 @@
$(TargetFrameworks)netstandard2.1;
$(TargetFrameworks)net8.0-android;
- $(TargetFrameworks)net8.0-ios11;
- $(TargetFrameworks)net8.0-maccatalyst
+ $(TargetFrameworks)net8.0-ios11;
+ $(TargetFrameworks)net8.0-maccatalyst
true
true
@@ -97,15 +97,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -157,7 +157,7 @@
-
+
diff --git a/Laerdal.McuMgr/Shared/FileDownloader/FileDownloader.cs b/Laerdal.McuMgr/Shared/FileDownloader/FileDownloader.cs
index aaf1a99d..1961a75d 100644
--- a/Laerdal.McuMgr/Shared/FileDownloader/FileDownloader.cs
+++ b/Laerdal.McuMgr/Shared/FileDownloader/FileDownloader.cs
@@ -193,10 +193,10 @@ public async Task DownloadAsync(
try
{
- Cancelled += DownloadAsyncOnCancelled;
- StateChanged += DownloadAsyncOnStateChanged;
- DownloadCompleted += DownloadAsyncOnDownloadCompleted;
- FatalErrorOccurred += DownloadAsyncOnFatalErrorOccurred;
+ Cancelled += FileDownloader_Cancelled_;
+ StateChanged += FileDownloader_StateChanged_;
+ DownloadCompleted += FileDownloader_DownloadCompleted_;
+ FatalErrorOccurred += FileDownloader_FatalErrorOccurred_;
var verdict = BeginDownload(remoteFilePath); //00 dont use task.run here for now
if (verdict != EFileDownloaderVerdict.Success)
@@ -223,10 +223,16 @@ public async Task DownloadAsync(
catch (DownloadErroredOutException ex)
{
if (ex is DownloadErroredOutRemoteFileNotFoundException) //order no point to retry if the remote file is not there
+ {
+ //OnStateChanged(new StateChangedEventArgs(newState: EFileDownloaderState.Error)); //noneed already done in native code
throw;
+ }
if (++triesCount > maxTriesCount) //order
+ {
+ //OnStateChanged(new StateChangedEventArgs(newState: EFileDownloaderState.Error)); //noneed already done in native code
throw new AllDownloadAttemptsFailedException(remoteFilePath, maxTriesCount, innerException: ex);
+ }
if (sleepTimeBetweenRetriesInMs > 0) //order
{
@@ -253,20 +259,20 @@ ex is not ArgumentException //10 wops probably missing native lib symbols!
}
finally
{
- Cancelled -= DownloadAsyncOnCancelled;
- StateChanged -= DownloadAsyncOnStateChanged;
- DownloadCompleted -= DownloadAsyncOnDownloadCompleted;
- FatalErrorOccurred -= DownloadAsyncOnFatalErrorOccurred;
+ Cancelled -= FileDownloader_Cancelled_;
+ StateChanged -= FileDownloader_StateChanged_;
+ DownloadCompleted -= FileDownloader_DownloadCompleted_;
+ FatalErrorOccurred -= FileDownloader_FatalErrorOccurred_;
}
- void DownloadAsyncOnCancelled(object sender, CancelledEventArgs ea)
+ void FileDownloader_Cancelled_(object sender_, CancelledEventArgs ea_)
{
taskCompletionSource.TrySetException(new DownloadCancelledException());
}
- void DownloadAsyncOnStateChanged(object sender, StateChangedEventArgs ea)
+ void FileDownloader_StateChanged_(object sender_, StateChangedEventArgs ea_)
{
- if (ea.NewState != EFileDownloaderState.Cancelling || isCancellationRequested)
+ if (ea_.NewState != EFileDownloaderState.Cancelling || isCancellationRequested)
return;
isCancellationRequested = true;
@@ -294,24 +300,24 @@ void DownloadAsyncOnStateChanged(object sender, StateChangedEventArgs ea)
// getting called right above but if that takes too long we give the killing blow by calling OnCancelled() manually here
}
- void DownloadAsyncOnDownloadCompleted(object sender, DownloadCompletedEventArgs ea)
+ void FileDownloader_DownloadCompleted_(object sender_, DownloadCompletedEventArgs ea_)
{
- taskCompletionSource.TrySetResult(ea.Data);
+ taskCompletionSource.TrySetResult(ea_.Data);
}
- void DownloadAsyncOnFatalErrorOccurred(object sender, FatalErrorOccurredEventArgs ea)
+ void FileDownloader_FatalErrorOccurred_(object sender_, FatalErrorOccurredEventArgs ea_)
{
- var isAboutUnauthorized = ea.ErrorMessage?.ToUpperInvariant().Contains("UNRECOGNIZED (11)") ?? false;
+ var isAboutUnauthorized = ea_.ErrorMessage?.ToUpperInvariant().Contains("UNRECOGNIZED (11)") ?? false;
if (isAboutUnauthorized)
{
taskCompletionSource.TrySetException(new UnauthorizedException(
resource: remoteFilePath,
- nativeErrorMessage: ea.ErrorMessage
+ nativeErrorMessage: ea_.ErrorMessage
));
return;
}
- var isAboutRemoteFileNotFound = ea.ErrorMessage
+ var isAboutRemoteFileNotFound = ea_.ErrorMessage
?.ToUpperInvariant()
.Replace("NO_ENTRY (5)", "NO ENTRY (5)") //normalize the error for android so that it will be the same as in ios
.Contains("NO ENTRY (5)") ?? false;
@@ -321,7 +327,7 @@ void DownloadAsyncOnFatalErrorOccurred(object sender, FatalErrorOccurredEventArg
return;
}
- taskCompletionSource.TrySetException(new DownloadErroredOutException(ea.ErrorMessage)); //generic
+ taskCompletionSource.TrySetException(new DownloadErroredOutException(ea_.ErrorMessage)); //generic
}
}
diff --git a/Laerdal.McuMgr/Shared/FileUploader/FileUploader.cs b/Laerdal.McuMgr/Shared/FileUploader/FileUploader.cs
index 3ba3fb68..fbd55b40 100644
--- a/Laerdal.McuMgr/Shared/FileUploader/FileUploader.cs
+++ b/Laerdal.McuMgr/Shared/FileUploader/FileUploader.cs
@@ -213,9 +213,10 @@ public async Task UploadAsync(
var taskCompletionSource = new TaskCompletionSource(state: false);
try
{
- Cancelled += UploadAsyncOnCancelled;
- StateChanged += UploadAsyncOnStateChanged;
- FatalErrorOccurred += UploadAsyncOnFatalErrorOccurred;
+ Cancelled += FileUploader_Cancelled_;
+ FileUploaded += FileUploader_FileUploaded_;
+ StateChanged += FileUploader_StateChanged_;
+ FatalErrorOccurred += FileUploader_FatalErrorOccurred_;
var verdict = BeginUpload(remoteFilePath, dataArray); //00 dont use task.run here for now
if (verdict != EFileUploaderVerdict.Success)
@@ -270,25 +271,31 @@ ex is not ArgumentException //10 wops probably missing native lib symbols!
}
finally
{
- Cancelled -= UploadAsyncOnCancelled;
- StateChanged -= UploadAsyncOnStateChanged;
- FatalErrorOccurred -= UploadAsyncOnFatalErrorOccurred;
+ Cancelled -= FileUploader_Cancelled_;
+ FileUploaded -= FileUploader_FileUploaded_;
+ StateChanged -= FileUploader_StateChanged_;
+ FatalErrorOccurred -= FileUploader_FatalErrorOccurred_;
CleanupResourcesOfLastUpload(); //vital
}
- void UploadAsyncOnCancelled(object sender, CancelledEventArgs ea)
+ void FileUploader_Cancelled_(object _, CancelledEventArgs ea_)
{
taskCompletionSource.TrySetException(new UploadCancelledException());
}
+
+ void FileUploader_FileUploaded_(object _, FileUploadedEventArgs ea_)
+ {
+ taskCompletionSource.TrySetResult(true);
+ }
// ReSharper disable AccessToModifiedClosure
- void UploadAsyncOnStateChanged(object sender, StateChangedEventArgs ea)
+ void FileUploader_StateChanged_(object _, StateChangedEventArgs ea_)
{
- switch (ea.NewState)
+ switch (ea_.NewState)
{
case EFileUploaderState.Complete:
- taskCompletionSource.TrySetResult(true);
+ //taskCompletionSource.TrySetResult(true); //dont we want to wait for the FileUploaded event
return;
case EFileUploaderState.Cancelling: //20
@@ -320,7 +327,7 @@ void UploadAsyncOnStateChanged(object sender, StateChangedEventArgs ea)
// getting called right above but if that takes too long we give the killing blow by calling OnCancelled() manually here
}
- void UploadAsyncOnFatalErrorOccurred(object sender, FatalErrorOccurredEventArgs ea)
+ void FileUploader_FatalErrorOccurred_(object sender, FatalErrorOccurredEventArgs ea)
{
var isAboutUnauthorized = ea.ErrorCode == EMcuMgrErrorCode.AccessDenied;
if (isAboutUnauthorized)
diff --git a/Laerdal.Scripts/Laerdal.Builder.targets b/Laerdal.Scripts/Laerdal.Builder.targets
index 89ad5d5a..d30f82fa 100644
--- a/Laerdal.Scripts/Laerdal.Builder.targets
+++ b/Laerdal.Scripts/Laerdal.Builder.targets
@@ -37,7 +37,11 @@
$([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `..`, `TestResults`))
- false
+
+
+
+ true
+ false
gradle
$(BUILD_SOURCEBRANCH)
@@ -185,19 +189,18 @@
-
+
<_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)GradlePath=$(Laerdal_Gradle_Path);
- <_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)SourceRoot=$(MSBuildThisFileDirectory)/../Laerdal.McuMgr.Bindings/;
<_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)Configuration=$(Configuration);
<_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)PackageOutputPath=$(PackageOutputPath);
- <_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)ShouldSkipMacCatalyst=$(ShouldSkipMacCatalyst);
+ <_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)Should_Skip_MacCatalyst=$(Should_Skip_MacCatalyst);
-
+
@@ -206,20 +209,14 @@
-
+
-
-
-
-
-
-
- <_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)SourceRoot=$(MSBuildThisFileDirectory)/../Laerdal.McuMgr/;
- <_Laerdal_Build_Parameters>$(_Laerdal_Build_Parameters)Laerdal_McuMgr_Bindings_Package_Version=$(Laerdal_Version_Assembly);
-
+
+
+
-
+
@@ -229,7 +226,7 @@
+ Properties="Configuration=$(Configuration);Should_Skip_MacCatalyst=$(Should_Skip_MacCatalyst);"/>
$(TestParameters) test 'Laerdal.McuMgr.Tests/Laerdal.McuMgr.Tests.csproj'
@@ -277,10 +274,11 @@
$([System.IO.Path]::Combine($(MSBuildThisFileDirectory), `Laerdal.CreateNewReleaseInGithub.sh`))
- <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --git-branch '$(Laerdal_Source_Branch)'
- <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --tag-version '$(Laerdal_Version_Base)'
- <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --access-token '$(Laerdal_Github_Access_Token)'
- <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --repository-path '$(Laerdal_Repository_Path)'
+ <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --log
+ <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --git-branch '$(Laerdal_Source_Branch)'
+ <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --tag-version '$(Laerdal_Version_Base)'
+ <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --access-token '$(Laerdal_Github_Access_Token)'
+ <_Laerdal_Create_Github_Release_Script_Parameters>$(_Laerdal_Create_Github_Release_Script_Parameters) --repository-path '$(Laerdal_Repository_Path)'
diff --git a/Laerdal.Scripts/Laerdal.CreateNewReleaseInGithub.sh b/Laerdal.Scripts/Laerdal.CreateNewReleaseInGithub.sh
index cf1ce632..ffd89508 100644
--- a/Laerdal.Scripts/Laerdal.CreateNewReleaseInGithub.sh
+++ b/Laerdal.Scripts/Laerdal.CreateNewReleaseInGithub.sh
@@ -9,42 +9,41 @@ declare GITHUB_REPOSITORY_PATH=""
function parse_arguments() {
while [[ $# -gt 0 ]]; do
- case $1 in
-
- -v | --log)
- VERBOSE=1
- shift
- ;;
-
- -r | --repository-path)
- GITHUB_REPOSITORY_PATH="$2"
- shift
- ;;
-
- -t | --tag-version)
- TAG_VERSION="$2"
- shift
- ;;
-
- -b | --git-branch)
- GIT_BRANCH="$2"
+ case $1 in
+ -v | --log)
+ VERBOSE=1
+ # shift dont shift no need for this one
+ ;;
+
+ -r | --repository-path)
+ GITHUB_REPOSITORY_PATH="$2"
+ shift
+ ;;
+
+ -t | --tag-version)
+ TAG_VERSION="$2"
+ shift
+ ;;
+
+ -b | --git-branch)
+ GIT_BRANCH="$2"
+ shift
+ ;;
+
+ -a | --access-token)
+ GITHUB_ACCESS_TOKEN="$2"
+ shift
+ ;;
+
+ *)
+ echo "Unknown option: $1"
+ usage
+ exit 1
+ ;;
+ esac
+
shift
- ;;
-
- -a | --access-token)
- GITHUB_ACCESS_TOKEN="$2"
- shift
- ;;
-
- *)
- echo "Unknown option: $1"
- usage
- exit 1
- ;;
-
- esac
- shift
- done
+ done
if [[ -z $GIT_BRANCH ]]; then
echo "Missing git-branch."
@@ -100,57 +99,26 @@ function create_release_on_github() {
eventual_singleline_summary="Alpha $eventual_tag_name"
fi
- local -r payload=$(
- cat <