Skip to content

ci: Added option to specify MSBuild exe path to build.ps1 #103

ci: Added option to specify MSBuild exe path to build.ps1

ci: Added option to specify MSBuild exe path to build.ps1 #103

GitHub Actions / xUnit tests succeeded Mar 15, 2024 in 1s

76 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
./test/Test.Utils.Test/TestResults/test_results.trx 2✅ 6s
./test/TwinGet.Cli.FuncTest/TestResults/test_results.trx 3✅ 72s
./test/TwinGet.Cli.Test/TestResults/test_results.trx 3✅ 6s
./test/TwinGet.Core.Test/TestResults/test_results.trx 17✅ 85s
./test/TwinGet.TwincatInterface.Test/TestResults/test_results.trx 50✅ 104s
./test/TwinGet.Utils.Test/TestResults/test_results.trx 1✅ 6s

✅ ./test/Test.Utils.Test/TestResults/test_results.trx

2 tests were completed in 6s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Test.Utils.Test.TestTwincatProjectTests 1✅ 166ms
Test.Utils.Test.TestTwingetExeTests 1✅ 9ms

✅ Test.Utils.Test.TestTwincatProjectTests

✅ TestTwincatProject_ShouldBeValid

✅ Test.Utils.Test.TestTwingetExeTests

✅ Path_ShouldExists

✅ ./test/TwinGet.Cli.FuncTest/TestResults/test_results.trx

3 tests were completed in 72s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TwinGet.Cli.FuncTest.Commands.PackCommandTests 3✅ 66s

✅ TwinGet.Cli.FuncTest.Commands.PackCommandTests

✅ Pack_WithManagedPlcProject_ShouldSucceed(provideSolution: False)
✅ Pack_WithManagedPlcProject_ShouldSucceed(provideSolution: True)
✅ Pack_WithUnmanagedPlcProject_ShouldFail

✅ ./test/TwinGet.Cli.Test/TestResults/test_results.trx

3 tests were completed in 6s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TwinGet.Cli.Test.PackStrategyFactoryTests 3✅ 12ms

✅ TwinGet.Cli.Test.PackStrategyFactoryTests

✅ GetStrategy_OfSupportedFileTypes_ShouldSucceed(file: "foo.plcproj", expected: typeof(TwinGet.Core.Packaging.PlcProjectPackStrategy))
✅ GetStrategy_OfUnsupportedFileTypes_ShouldThrow(file: "foo.bar")
✅ GetStrategy_OfUnsupportedFileTypes_ShouldThrow(file: "foo.csproj")

✅ ./test/TwinGet.Core.Test/TestResults/test_results.trx

17 tests were completed in 85s with 17 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TwinGet.Core.Test.Commands.PackCommandHandlerTests 4✅ 79s
TwinGet.Core.Test.Commands.PackCommandValidatorTests 5✅ 287ms
TwinGet.Core.Test.Packaging.PlcProjectPackStrategyTests 8✅ 77s

✅ TwinGet.Core.Test.Commands.PackCommandHandlerTests

✅ Handle_WithNoOutputDirectory_ShouldSetToCurrentDirectoryAsync
✅ Handle_WithRelativeOutputDirectoryPath_ShouldGetFullPathAsync
✅ Handle_WithRelativePath_ShouldGetFullPathAsync
✅ Handle_WithRelativeSolutionPath_ShouldGetFullPathAsync

✅ TwinGet.Core.Test.Commands.PackCommandValidatorTests

✅ ShouldHaveError_WhenPathDoesNotExistAsync
✅ ShouldHaveError_WhenPathIsNotValidAsync
✅ ShouldHaveError_WhenPathIsNullAsync
✅ ShouldHaveError_WhenSolutionIsProvidedAndDoesNotExistAsync
✅ ShouldWarn_WhenNoSolutionWasProvided

✅ TwinGet.Core.Test.Packaging.PlcProjectPackStrategyTests

✅ Pack_WithNoOutputDirectory_ShouldThrow
✅ Pack_WithNoPath_ShouldThrow
✅ Pack_WithValidParameters_ShouldSucceed(provideSolution: False)
✅ Pack_WithValidParameters_ShouldSucceed(provideSolution: True)
✅ PackAsync_WithNoOutputDirectory_ShouldThrowAsync
✅ PackAsync_WithNoPath_ShouldThrowAsync
✅ PackAsync_WithValidParameters_ShouldSucceedAsync(provideSolution: False)
✅ PackAsync_WithValidParameters_ShouldSucceedAsync(provideSolution: True)

✅ ./test/TwinGet.TwincatInterface.Test/TestResults/test_results.trx

50 tests were completed in 104s with 50 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TwinGet.TwincatInterface.Test.AutomationInterfaceTests 10✅ 98s
TwinGet.TwincatInterface.Test.ProjectFileUtils.PlcProjectFileHelperTests 11✅ 246ms
TwinGet.TwincatInterface.Test.ProjectFileUtils.TcSmProjectFileHelperTests 8✅ 122ms
TwinGet.TwincatInterface.Test.TwincatConstantsTests 2✅ 7ms
TwinGet.TwincatInterface.Test.TwincatProjectTests 3✅ 60s
TwinGet.TwincatInterface.Test.Utils.TwincatUtilsTests 16✅ 322ms

✅ TwinGet.TwincatInterface.Test.AutomationInterfaceTests

✅ GetPlcProjects_WithASolutionOpened_ShouldGetAll
✅ LoadSolution_WithEmptyPath_ShouldThrow
✅ LoadSolution_WithInvalidPath_ShouldThrow
✅ LoadSolution_WithValidPath_ShouldLoadSuccessfully
✅ PathExists_ShouldSupportRelativePath
✅ ProgId_ShouldBeValid
✅ ProgId_ShouldNotBeNullOrEmpty
✅ SavePlcProject_WithoutSolutionPath_ShouldSucceed
✅ SavePlcProject_WithValidParams_ShouldSucceed
✅ TwincatProjects_ShouldBeConsistent

✅ TwinGet.TwincatInterface.Test.ProjectFileUtils.PlcProjectFileHelperTests

✅ GetParentSolutionFileAsync_SpecsAsync(actualDepth: 3, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFileAsync_SpecsAsync(actualDepth: 5, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFileAsync_SpecsAsync(actualDepth: 6, searchDepth: 5, resultIsEmpty: True)
✅ GetParentTwincatFile_Specs(actualDepth: 3, searchDepth: 5, resultIsEmpty: False)
✅ GetParentTwincatFile_Specs(actualDepth: 5, searchDepth: 5, resultIsEmpty: False)
✅ GetParentTwincatFile_Specs(actualDepth: 6, searchDepth: 5, resultIsEmpty: True)
✅ GetParentTwincatFileAsync_SpecsAsync(actualDepth: 3, searchDepth: 5, resultIsEmpty: False)
✅ GetParentTwincatFileAsync_SpecsAsync(actualDepth: 5, searchDepth: 5, resultIsEmpty: False)
✅ GetParentTwincatFileAsync_SpecsAsync(actualDepth: 6, searchDepth: 5, resultIsEmpty: True)
✅ Guid_ShouldWork
✅ GuidAsync_ShouldWorkAsync

✅ TwinGet.TwincatInterface.Test.ProjectFileUtils.TcSmProjectFileHelperTests

✅ GetParentSolutionFile_Specs(actualDepth: 3, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFile_Specs(actualDepth: 5, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFile_Specs(actualDepth: 6, searchDepth: 5, resultIsEmpty: True)
✅ GetParentSolutionFile_SpecsAsync(actualDepth: 3, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFile_SpecsAsync(actualDepth: 5, searchDepth: 5, resultIsEmpty: False)
✅ GetParentSolutionFile_SpecsAsync(actualDepth: 6, searchDepth: 5, resultIsEmpty: True)
✅ Guid_ShouldWork
✅ GuidAsync_ShouldWorkAsync

✅ TwinGet.TwincatInterface.Test.TwincatConstantsTests

✅ SupportedProgIds_ShouldNotBeEmpty
✅ TwincatXaeDownloadUrl_ShouldNotBeNullOrEmpty

✅ TwinGet.TwincatInterface.Test.TwincatProjectTests

✅ Construct_WithNonTwincatProject_ShouldThrow
✅ Construct_WithTwincatProject_ShouldSucceed
✅ PlcProjects_ShouldBeExpected

✅ TwinGet.TwincatInterface.Test.Utils.TwincatUtilsTests

✅ DeserializeXmlFileToProjectData_WithValidPlcProjectFile_ShouldSucceed(xmlContent: "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Pro"···, expected: [["Name"] = "TestPlcProject1", ["Title"] = "", ["Version"] = ""])
✅ DeserializeXmlFileToProjectData_WithValidPlcProjectFile_ShouldSucceed(xmlContent: "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Pro"···, expected: [["Name"] = "TestPlcProject1", ["Title"] = "TwinGet.TestTwincatProject1.TestPlcProject1", ["Version"] = "0.1.0"])
✅ DeserializeXmlFileToProjectDataAsync_WithValidTwincatProjectFile_ShouldSucceedAsync(xmlContent: "<?xml version=\"1.0\"?>\r\n<TcSmProject xmlns:xsi="···, expectedProperties: [["TcVersion"] = "3.1.4024.53"], plcProjectNames: ["TestPlcProject1", "TestPlcProject2"])
✅ DeserializeXmlFileToProjectDataAsync_WithValidTwincatProjectFile_ShouldSucceedAsync(xmlContent: "<?xml version=\"1.0\"?>\r\n<TcSmProject xmlns:xsi="···, expectedProperties: [["TcVersion"] = "3.1.4024.53"], plcProjectNames: [])
✅ IsPlcProjectFileExtension_ShouldWork(filePath: ".", expected: False)
✅ IsPlcProjectFileExtension_ShouldWork(filePath: "bar.plcproj", expected: True)
✅ IsPlcProjectFileExtension_ShouldWork(filePath: "foo.bar", expected: False)
✅ IsPlcProjectFileExtension_ShouldWork(filePath: "foo.plcproj", expected: True)
✅ IsPlcProjectFileExtension_ShouldWork(filePath: "foo", expected: False)
✅ IsTwincatProjectFileExtension_ShouldWork(filePath: ".", expected: False)
✅ IsTwincatProjectFileExtension_ShouldWork(filePath: "foo.bar", expected: False)
✅ IsTwincatProjectFileExtension_ShouldWork(filePath: "foo.tspproj", expected: True)
✅ IsTwincatProjectFileExtension_ShouldWork(filePath: "foo.tsproj", expected: True)
✅ IsTwincatProjectFileExtension_ShouldWork(filePath: "foo", expected: False)
✅ PlcProjectBelongToSolution_WithRelatedFiles_ShouldBeTrue
✅ PlcProjectBelongToSolution_WithUnrelatedFiles_ShouldBeFalse

✅ ./test/TwinGet.Utils.Test/TestResults/test_results.trx

1 tests were completed in 6s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
TwinGet.Utils.Test.IOTests.DirectoryTests 1✅ 27ms

✅ TwinGet.Utils.Test.IOTests.DirectoryTests

✅ CopyDirectory_Recursively