JohnSundell / Marathon

[DEPRECATED] Marathon makes it easy to write, run and manage your Swift scripts 🏃
MIT License
1.86k stars 78 forks source link

Needs a tweak to compile on Linux #164

Closed felix91gr closed 6 years ago

felix91gr commented 6 years ago

Hi! I'm using Swift 4.1 in Linux, and if you clone and try to compile Marathon as-is, it fails. But the fix was simple:

After that, it compiles without a problem and runs the test suite without crashing. It fails in 36 tests unexpectedly, I don't know if that's the expected state of advance on Linux or if it had a regression. Below is the full console output of swift test

felix91gr commented 6 years ago
Test Suite 'All tests' started at 2018-04-05 20:19:48.472
Test Suite 'debug.xctest' started at 2018-04-05 20:19:48.473
Test Suite 'MarathonTests' started at 2018-04-05 20:19:48.473
Test Case 'MarathonTests.testInvalidCommandThrows' started at 2018-04-05 20:19:48.473
Test Case 'MarathonTests.testInvalidCommandThrows' passed (0.003 seconds)
Test Case 'MarathonTests.testAddingAndRemovingRemotePackage' started at 2018-04-05 20:19:48.477
<EXPR>:0: error: MarathonTests.testAddingAndRemovingRemotePackage : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/D238FBC2-D6B9-4C77-B15F-EB0A5521B5B6/Packages/'"
Test Case 'MarathonTests.testAddingAndRemovingRemotePackage' failed (4.448 seconds)
Test Case 'MarathonTests.testAddingAndRemovingLocalPackage' started at 2018-04-05 20:19:52.924
<EXPR>:0: error: MarathonTests.testAddingAndRemovingLocalPackage : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/5DF17D7F-85D3-4E8D-B268-8FF440456E1C/Packages/'"
Test Case 'MarathonTests.testAddingAndRemovingLocalPackage' failed (0.546 seconds)
Test Case 'MarathonTests.testRemovingAllPackages' started at 2018-04-05 20:19:53.470
<EXPR>:0: error: MarathonTests.testRemovingAllPackages : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/1FBA3B75-61EE-4F7B-B03E-61CB0BE6344C/Packages/'"
Test Case 'MarathonTests.testRemovingAllPackages' failed (3.991 seconds)
Test Case 'MarathonTests.testAddingLocalPackage' started at 2018-04-05 20:19:57.461
<EXPR>:0: error: MarathonTests.testAddingLocalPackage : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/0DB86AED-82CF-4170-A331-697714BA0A11/Packages/'"
Test Case 'MarathonTests.testAddingLocalPackage' failed (0.571 seconds)
Test Case 'MarathonTests.testAddingLocalPackageWithDependency' started at 2018-04-05 20:19:58.032
<EXPR>:0: error: MarathonTests.testAddingLocalPackageWithDependency : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/1B48C6D1-0FA3-43B9-BDBB-4A19C686FE47/Packages/'"
Test Case 'MarathonTests.testAddingLocalPackageWithDependency' failed (0.588 seconds)
Test Case 'MarathonTests.testAddingLocalPackageWithUnsortedVersionsContainingLetters' started at 2018-04-05 20:19:58.620
<EXPR>:0: error: MarathonTests.testAddingLocalPackageWithUnsortedVersionsContainingLetters : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/379D8906-3A18-477F-A4E3-66DA1B02364D/Packages/'"
Test Case 'MarathonTests.testAddingLocalPackageWithUnsortedVersionsContainingLetters' failed (0.937 seconds)
Test Case 'MarathonTests.testAddingAlreadyAddedPackageThrows' started at 2018-04-05 20:19:59.557
<EXPR>:0: error: MarathonTests.testAddingAlreadyAddedPackageThrows : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/543B323B-AEA0-4367-893C-63BE1A48AFAE/Packages/'"
Test Case 'MarathonTests.testAddingAlreadyAddedPackageThrows' failed (6.608 seconds)
Test Case 'MarathonTests.testTreatingNestedDependenciesAsAdded' started at 2018-04-05 20:20:06.166
<EXPR>:0: error: MarathonTests.testTreatingNestedDependenciesAsAdded : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/4BA8392E-28F7-4BB1-9273-D70C5CCE4B60/Packages/'"
Test Case 'MarathonTests.testTreatingNestedDependenciesAsAdded' failed (7.947 seconds)
Test Case 'MarathonTests.testRunningScriptWithoutPathThrows' started at 2018-04-05 20:20:14.113
Test Case 'MarathonTests.testRunningScriptWithoutPathThrows' passed (0.078 seconds)
Test Case 'MarathonTests.testRunningScript' started at 2018-04-05 20:20:14.192
<EXPR>:0: error: MarathonTests.testRunningScript : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/88829E9D-0E10-46DF-897E-AC0A1D6414A5/Packages/'"
Test Case 'MarathonTests.testRunningScript' failed (5.458 seconds)
Test Case 'MarathonTests.testRunningScriptWithNewDependency' started at 2018-04-05 20:20:19.650
<EXPR>:0: error: MarathonTests.testRunningScriptWithNewDependency : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/6BC04BF3-6635-4B40-873F-2F8D0A5FC798/Packages/'"
Test Case 'MarathonTests.testRunningScriptWithNewDependency' failed (0.341 seconds)
Test Case 'MarathonTests.testRunningScriptWithBuildFailedErrorThrows' started at 2018-04-05 20:20:19.992
/home/felix/Documents/Programming/AwesomeSystemSwift/marathon/Tests/MarathonTests/MarathonTests.swift:254: error: MarathonTests.testRunningScriptWithBuildFailedErrorThrows : failed - Invalid error thrown: 💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/1EDDE44E-228E-47C6-8A2A-51CB3C39037C/Packages/'
Test Case 'MarathonTests.testRunningScriptWithBuildFailedErrorThrows' failed (0.298 seconds)
Test Case 'MarathonTests.testRunningScriptWithBuildFailedErrorWhenNoSuchModuleThrows' started at 2018-04-05 20:20:20.290
/home/felix/Documents/Programming/AwesomeSystemSwift/marathon/Tests/MarathonTests/MarathonTests.swift:263: error: MarathonTests.testRunningScriptWithBuildFailedErrorWhenNoSuchModuleThrows : failed - Invalid error thrown: 💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/F76B3A95-F1B1-41E6-90E3-564B224CA065/Packages/'
Test Case 'MarathonTests.testRunningScriptWithBuildFailedErrorWhenNoSuchModuleThrows' failed (0.318 seconds)
Test Case 'MarathonTests.testRunningScriptWithRuntimeErrorThrows' started at 2018-04-05 20:20:20.607
Test Case 'MarathonTests.testRunningScriptWithRuntimeErrorThrows' passed (0.346 seconds)
Test Case 'MarathonTests.testRunningScriptReturnsOutput' started at 2018-04-05 20:20:20.953
<EXPR>:0: error: MarathonTests.testRunningScriptReturnsOutput : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/D4F6195B-E5BA-4C20-98EC-9D0E9CDD3294/Packages/'"
Test Case 'MarathonTests.testRunningScriptReturnsOutput' failed (0.318 seconds)
Test Case 'MarathonTests.testPassingArgumentsToScript' started at 2018-04-05 20:20:21.271
<EXPR>:0: error: MarathonTests.testPassingArgumentsToScript : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/2D1EA01E-54CF-4691-8BA6-987438D969EA/Packages/'"
Test Case 'MarathonTests.testPassingArgumentsToScript' failed (0.319 seconds)
Test Case 'MarathonTests.testCurrentWorkingDirectoryOfScriptIsExecutionFolder' started at 2018-04-05 20:20:21.591
<EXPR>:0: error: MarathonTests.testCurrentWorkingDirectoryOfScriptIsExecutionFolder : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/28849A39-55AC-480C-8081-7D63CACBB1CB/Packages/'"
Test Case 'MarathonTests.testCurrentWorkingDirectoryOfScriptIsExecutionFolder' failed (0.304 seconds)
Test Case 'MarathonTests.testScriptWithLargeAmountOfOutput' started at 2018-04-05 20:20:21.895
<EXPR>:0: error: MarathonTests.testScriptWithLargeAmountOfOutput : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/4BDBFBD7-3878-4621-9FC5-D6B8B462E6C1/Packages/'"
Test Case 'MarathonTests.testScriptWithLargeAmountOfOutput' failed (0.417 seconds)
Test Case 'MarathonTests.testRunningScriptWithVerboseOutput' started at 2018-04-05 20:20:22.312
<EXPR>:0: error: MarathonTests.testRunningScriptWithVerboseOutput : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/62C83390-5BD7-400F-830F-2FF71E97134D/Packages/'"
Test Case 'MarathonTests.testRunningScriptWithVerboseOutput' failed (0.273 seconds)
Test Case 'MarathonTests.testRunningRemoteScriptFromURL' started at 2018-04-05 20:20:22.585
<EXPR>:0: error: MarathonTests.testRunningRemoteScriptFromURL : threw error "💥  Failed to download script from 'https://raw.githubusercontent.com/JohnSundell/TestDrive/master/Sources/TestDrive.swift' (Failed to create folder)
👉  Make sure that the URL is reachable, and that it contains a valid Swift script"
Test Case 'MarathonTests.testRunningRemoteScriptFromURL' failed (0.497 seconds)
Test Case 'MarathonTests.testRunningRemoteScriptFromGitHubRepository' started at 2018-04-05 20:20:23.082
<EXPR>:0: error: MarathonTests.testRunningRemoteScriptFromGitHubRepository : threw error "💥  Failed to compile script"
Test Case 'MarathonTests.testRunningRemoteScriptFromGitHubRepository' failed (6.934 seconds)
Test Case 'MarathonTests.testRunningRemoteSwiftPackageAsScript' started at 2018-04-05 20:20:30.016
<EXPR>:0: error: MarathonTests.testRunningRemoteSwiftPackageAsScript : threw error "💥  Failed to compile script"
Test Case 'MarathonTests.testRunningRemoteSwiftPackageAsScript' failed (3.482 seconds)
Test Case 'MarathonTests.testRunningScriptWithArgumentContainingSpace' started at 2018-04-05 20:20:33.498
<EXPR>:0: error: MarathonTests.testRunningScriptWithArgumentContainingSpace : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/2DC97587-BF9B-4D48-B223-8AA7A81E8527/Packages/'"
Test Case 'MarathonTests.testRunningScriptWithArgumentContainingSpace' failed (0.386 seconds)
Test Case 'MarathonTests.testInstallingLocalScript' started at 2018-04-05 20:20:33.884
<EXPR>:0: error: MarathonTests.testInstallingLocalScript : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/B1FA1D4E-CED4-4E7D-9373-A693BD8EFC62/Packages/'"
Test Case 'MarathonTests.testInstallingLocalScript' failed (4.923 seconds)
Test Case 'MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRegularGithubURL' started at 2018-04-05 20:20:38.806
<EXPR>:0: error: MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRegularGithubURL : threw error "💥  Failed to download script from 'https://github.com/JohnSundell/Marathon-Examples/blob/master/AddSuffix/addSuffix.swift' (Failed to create folder)
👉  Make sure that the URL is reachable, and that it contains a valid Swift script"
Test Case 'MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRegularGithubURL' failed (0.716 seconds)
Test Case 'MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRawGithubURL' started at 2018-04-05 20:20:39.523
<EXPR>:0: error: MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRawGithubURL : threw error "💥  Failed to download script from 'https://raw.githubusercontent.com/JohnSundell/Marathon-Examples/master/AddSuffix/addSuffix.swift' (Failed to create folder)
👉  Make sure that the URL is reachable, and that it contains a valid Swift script"
Test Case 'MarathonTests.testInstallingRemoteScriptWithDependenciesUsingRawGithubURL' failed (0.353 seconds)
Test Case 'MarathonTests.testInstallingRemoteSwiftPackageAsScript' started at 2018-04-05 20:20:39.876
<EXPR>:0: error: MarathonTests.testInstallingRemoteSwiftPackageAsScript : threw error "💥  Failed to compile script"
Test Case 'MarathonTests.testInstallingRemoteSwiftPackageAsScript' failed (4.76 seconds)
Test Case 'MarathonTests.testCreatingScriptWithoutNameThrows' started at 2018-04-05 20:20:44.636
Test Case 'MarathonTests.testCreatingScriptWithoutNameThrows' passed (0.145 seconds)
Test Case 'MarathonTests.testCreatingScriptWithName' started at 2018-04-05 20:20:44.781
Test Case 'MarathonTests.testCreatingScriptWithName' passed (0.135 seconds)
Test Case 'MarathonTests.testCreatingScriptWithPath' started at 2018-04-05 20:20:44.916
Test Case 'MarathonTests.testCreatingScriptWithPath' passed (0.135 seconds)
Test Case 'MarathonTests.testCreatingScriptWithContent' started at 2018-04-05 20:20:45.051
Test Case 'MarathonTests.testCreatingScriptWithContent' passed (0.135 seconds)
Test Case 'MarathonTests.testCreatingAndRunningScriptInFolderWithSpaces' started at 2018-04-05 20:20:45.186
<EXPR>:0: error: MarathonTests.testCreatingAndRunningScriptInFolderWithSpaces : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/E4D33996-7C07-4822-9B4E-BA2D10FA9735/Packages/'"
Test Case 'MarathonTests.testCreatingAndRunningScriptInFolderWithSpaces' failed (0.317 seconds)
Test Case 'MarathonTests.testCreatingScriptWithExistingPathRunsEditInstead' started at 2018-04-05 20:20:45.502
<EXPR>:0: error: MarathonTests.testCreatingScriptWithExistingPathRunsEditInstead : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/8FD8CDE0-2A02-4EEB-8C22-8DF979234048/Packages/'"
Test Case 'MarathonTests.testCreatingScriptWithExistingPathRunsEditInstead' failed (0.293 seconds)
Test Case 'MarathonTests.testEditingScriptWithoutPathThrows' started at 2018-04-05 20:20:45.796
Test Case 'MarathonTests.testEditingScriptWithoutPathThrows' passed (0.088 seconds)
Test Case 'MarathonTests.testEditingScriptWithoutXcode' started at 2018-04-05 20:20:45.883
<EXPR>:0: error: MarathonTests.testEditingScriptWithoutXcode : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/85B77AFD-1D67-4D36-A299-1B42FA1A9B28/Packages/'"
Test Case 'MarathonTests.testEditingScriptWithoutXcode' failed (0.328 seconds)
Test Case 'MarathonTests.testEditingMissingLocalScriptThrowsProperError' started at 2018-04-05 20:20:46.212
Test Case 'MarathonTests.testEditingMissingLocalScriptThrowsProperError' passed (0.087 seconds)
Test Case 'MarathonTests.testEditingRemoteScriptThrowsError' started at 2018-04-05 20:20:46.298
Test Case 'MarathonTests.testEditingRemoteScriptThrowsError' passed (0.09 seconds)
Test Case 'MarathonTests.testRemovingScriptCacheData' started at 2018-04-05 20:20:46.389
<EXPR>:0: error: MarathonTests.testRemovingScriptCacheData : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/6A723A61-3381-41D1-8099-F2B95B0DC412/Packages/'"
Test Case 'MarathonTests.testRemovingScriptCacheData' failed (0.304 seconds)
Test Case 'MarathonTests.testRemovingScriptCacheDataForDeletedScript' started at 2018-04-05 20:20:46.692
<EXPR>:0: error: MarathonTests.testRemovingScriptCacheDataForDeletedScript : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/9D226C64-2120-4F21-A14A-9E95DBCBAEC7/Packages/'"
Test Case 'MarathonTests.testRemovingScriptCacheDataForDeletedScript' failed (0.305 seconds)
Test Case 'MarathonTests.testRemovingAllScriptData' started at 2018-04-05 20:20:46.997
<EXPR>:0: error: MarathonTests.testRemovingAllScriptData : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/2B86D5C4-422A-46E5-902C-D7FB652144B8/Packages/'"
Test Case 'MarathonTests.testRemovingAllScriptData' failed (0.313 seconds)
Test Case 'MarathonTests.testUpdatingPackages' started at 2018-04-05 20:20:47.310
<EXPR>:0: error: MarathonTests.testUpdatingPackages : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/319F0DB9-03AF-403D-8334-2D6F073BBE65/Packages/'"
Test Case 'MarathonTests.testUpdatingPackages' failed (0.268 seconds)
Test Case 'MarathonTests.testUsingMarathonfileToInstallDependencies' started at 2018-04-05 20:20:47.579
<EXPR>:0: error: MarathonTests.testUsingMarathonfileToInstallDependencies : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/7718D3DD-2FA3-4392-8471-0A05D025849A/Packages/'"
Test Case 'MarathonTests.testUsingMarathonfileToInstallDependencies' failed (4.861 seconds)
Test Case 'MarathonTests.testAddingLocalPackageUsingRelativePathInMarathonfile' started at 2018-04-05 20:20:52.440
<EXPR>:0: error: MarathonTests.testAddingLocalPackageUsingRelativePathInMarathonfile : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/13303C42-49FF-49CA-A8B1-5CEC06F0E6B1/Packages/'"
Test Case 'MarathonTests.testAddingLocalPackageUsingRelativePathInMarathonfile' failed (0.589 seconds)
Test Case 'MarathonTests.testAddingOtherScriptAsDependencyUsingMarathonfile' started at 2018-04-05 20:20:53.029
/home/felix/Documents/Programming/AwesomeSystemSwift/marathon/Tests/MarathonTests/MarathonTests.swift:647: error: MarathonTests.testAddingOtherScriptAsDependencyUsingMarathonfile : XCTAssertEqual threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/921CC31B-4B41-480B-852A-1A5768E5172A/Packages/'" - 
<EXPR>:0: error: MarathonTests.testAddingOtherScriptAsDependencyUsingMarathonfile : threw error "Invalid path given: /home/felix/.marathonTests/921CC31B-4B41-480B-852A-1A5768E5172A/Scripts/Cache/-home-felix-.marathonTests-921CC31B-4B41-480B-852A-1A5768E5172A-TestScript-script/Sources/script/"
Test Case 'MarathonTests.testAddingOtherScriptAsDependencyUsingMarathonfile' failed (0.393 seconds)
Test Case 'MarathonTests.testIncorrectlyFormattedMarathonfileThrows' started at 2018-04-05 20:20:53.422
/home/felix/Documents/Programming/AwesomeSystemSwift/marathon/Tests/MarathonTests/MarathonTests.swift:669: error: MarathonTests.testIncorrectlyFormattedMarathonfileThrows : failed - Invalid error thrown: 💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/BB077833-A0D4-4815-9E6B-7F69FEACCE38/Packages/'
Test Case 'MarathonTests.testIncorrectlyFormattedMarathonfileThrows' failed (0.357 seconds)
Test Case 'MarathonTests.testResolvingInlineDependencies' started at 2018-04-05 20:20:53.779
<EXPR>:0: error: MarathonTests.testResolvingInlineDependencies : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/B5D3B5BA-C491-440F-92D0-D254BE8046D4/Packages/'"
Test Case 'MarathonTests.testResolvingInlineDependencies' failed (0.313 seconds)
Test Case 'MarathonTests.testInlineDependencyWithDifferentCasingAsAlreadyAddedPackageNotAdded' started at 2018-04-05 20:20:54.092
<EXPR>:0: error: MarathonTests.testInlineDependencyWithDifferentCasingAsAlreadyAddedPackageNotAdded : threw error "💥  Failed to update packages
👉  Make sure you have write permissions to the folder '/home/felix/.marathonTests/F10543D4-1403-45A4-8FBF-75A3C41BC57C/Packages/'"
Test Case 'MarathonTests.testInlineDependencyWithDifferentCasingAsAlreadyAddedPackageNotAdded' failed (4.905 seconds)
Test Case 'MarathonTests.testNoDirectUsesOfPrintFunction' started at 2018-04-05 20:20:58.997
Test Case 'MarathonTests.testNoDirectUsesOfPrintFunction' passed (0.01 seconds)
Test Case 'MarathonTests.testNoDirectUsesOfShellOut' started at 2018-04-05 20:20:59.008
Test Case 'MarathonTests.testNoDirectUsesOfShellOut' passed (0.02 seconds)
Test Case 'MarathonTests.testShellAutocompletionsInstallation' started at 2018-04-05 20:20:59.027
Test Case 'MarathonTests.testShellAutocompletionsInstallation' passed (0.133 seconds)
Test Case 'MarathonTests.testAllTestsRunOnLinux' started at 2018-04-05 20:20:59.161
Test Case 'MarathonTests.testAllTestsRunOnLinux' passed (0.036 seconds)
Test Suite 'MarathonTests' failed at 2018-04-05 20:20:59.197
     Executed 52 tests, with 39 failures (36 unexpected) in 70.721 (70.721) seconds
Test Suite 'debug.xctest' failed at 2018-04-05 20:20:59.197
     Executed 52 tests, with 39 failures (36 unexpected) in 70.721 (70.721) seconds
Test Suite 'All tests' failed at 2018-04-05 20:20:59.197
     Executed 52 tests, with 39 failures (36 unexpected) in 70.721 (70.721) seconds
felix91gr commented 6 years ago

It's probably missing some permissions, from the looks of it. How do I give it permissions to those folders without giving it sudo privileges? :thinking:

JohnSundell commented 6 years ago

Fixed by @sunshinejr as part of #161 🎉