Skip to content

Workaround for empty main bundle identifier on Linux #64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 25, 2021

Conversation

jt9897253
Copy link
Contributor

On Linux, Bundle.main.bundleIdentifier is nil.

This commit creates a custom bundle identifier instead.

With this change, tests for ParseFileManager seem to pass on Linux:

$ swift test --enable-test-discovery --filter ParseFileManagerTests
[9/9] Linking ParseSwiftPackageTests.xctest
Test Suite 'Selected tests' started at 2021-01-24 19:01:54.641
Test Suite 'ParseFileManagerTests' started at 2021-01-24 19:01:54.642
Test Case 'ParseFileManagerTests.testCopyItem' started at 2021-01-24 19:01:54.642
Test Case 'ParseFileManagerTests.testCopyItem' passed (0.052 seconds)
Test Case 'ParseFileManagerTests.testMoveContentsOfDirectory' started at 2021-01-24 19:01:54.693
Test Case 'ParseFileManagerTests.testMoveContentsOfDirectory' passed (0.048 seconds)
Test Case 'ParseFileManagerTests.testMoveItem' started at 2021-01-24 19:01:54.741
Test Case 'ParseFileManagerTests.testMoveItem' passed (0.047 seconds)
Test Case 'ParseFileManagerTests.testWriteData' started at 2021-01-24 19:01:54.788
Test Case 'ParseFileManagerTests.testWriteData' passed (0.046 seconds)
Test Suite 'ParseFileManagerTests' passed at 2021-01-24 19:01:54.834
	 Executed 4 tests, with 0 failures (0 unexpected) in 0.192 (0.192) seconds
Test Suite 'Selected tests' passed at 2021-01-24 19:01:54.834
	 Executed 4 tests, with 0 failures (0 unexpected) in 0.192 (0.192) seconds

I put up this PR for discussion of what the the custom value for Bundle.main.bundleIdentifier should be, on Linux. Is the proposed solution unique enough?

As an example, with this change, the test ParseFileManagerTests.testWriteData would write to file:///$HOME/.local/share/parse/com.github.parse-community.parse-swift.applicationId/test.txt on Linux.
I do not exactly understand how this path is composed but it looks acceptable for me, as it is located in the user's home directory.

This is a follow up to the discussion from #63

@codecov
Copy link

codecov bot commented Jan 24, 2021

Codecov Report

Merging #64 (db22d30) into main (80802c5) will increase coverage by 0.02%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #64      +/-   ##
==========================================
+ Coverage   77.95%   77.98%   +0.02%     
==========================================
  Files          51       51              
  Lines        4578     4584       +6     
==========================================
+ Hits         3569     3575       +6     
  Misses       1009     1009              
Impacted Files Coverage Δ
Sources/ParseSwift/Storage/ParseFileManager.swift 89.39% <100.00%> (+0.50%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 80802c5...db22d30. Read the comment docs.

@cbaker6
Copy link
Contributor

cbaker6 commented Jan 24, 2021

@jt9897253 thanks for your contribution!

Does ParseFileTests.swift pass with your fix also?

You can uncomment these lines in the workflow for now

#- name: Test
# run: swift test --enable-test-discovery

You can comment them back out after we see the results as Linux will still have some failures when comparing optionals in the current test cases.

@jt9897253
Copy link
Contributor Author

Does ParseFileTests.swift pass with your fix also?

Unfortunately, not.

Here's the full log for ParseFileTests:

$ swift test --enable-test-discovery --filter ParseFileTests
[3/3] Linking ParseSwiftPackageTests.xctest
Test Suite 'Selected tests' started at 2021-01-24 20:10:01.682
Test Suite 'ParseFileTests' started at 2021-01-24 20:10:01.683
Test Case 'ParseFileTests.testCloudFileCancel' started at 2021-01-24 20:10:01.683
<EXPR>:0: error: ParseFileTests.testCloudFileCancel : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffb4000d30> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testCloudFileCancel' failed (0.002 seconds)
Test Case 'ParseFileTests.testCloudFileProgress' started at 2021-01-24 20:10:01.685
<EXPR>:0: error: ParseFileTests.testCloudFileProgress : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000c40> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testCloudFileProgress' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteCommand' started at 2021-01-24 20:10:01.686
Test Case 'ParseFileTests.testDeleteCommand' passed (0.0 seconds)
Test Case 'ParseFileTests.testDeleteFile' started at 2021-01-24 20:10:01.687
<EXPR>:0: error: ParseFileTests.testDeleteFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testDeleteFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteFileAysnc' started at 2021-01-24 20:10:01.687
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:1077: error: ParseFileTests.testDeleteFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/1b0683d529463e173cbf8046d7d9a613_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testDeleteFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteFileNoMasterKey' started at 2021-01-24 20:10:01.688
Test Case 'ParseFileTests.testDeleteFileNoMasterKey' passed (0.0 seconds)
Test Case 'ParseFileTests.testDeleteNoMasterKeyFileAysnc' started at 2021-01-24 20:10:01.688
Test Case 'ParseFileTests.testDeleteNoMasterKeyFileAysnc' passed (0.0 seconds)
Test Case 'ParseFileTests.testDownloadCommand' started at 2021-01-24 20:10:01.689
Test Case 'ParseFileTests.testDownloadCommand' passed (0.0 seconds)
Test Case 'ParseFileTests.testFetchFile' started at 2021-01-24 20:10:01.689
<EXPR>:0: error: ParseFileTests.testFetchFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testFetchFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileAysnc' started at 2021-01-24 20:10:01.690
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:909: error: ParseFileTests.testFetchFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/7793939a2e59b98138c1bbf2412a060c_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileCancelAsync' started at 2021-01-24 20:10:01.690
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:1041: error: ParseFileTests.testFetchFileCancelAsync : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/7793939a2e59b98138c1bbf2412a060c_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileCancelAsync' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileProgress' started at 2021-01-24 20:10:01.691
<EXPR>:0: error: ParseFileTests.testFetchFileProgress : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testFetchFileProgress' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileProgressAsync' started at 2021-01-24 20:10:01.692
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:997: error: ParseFileTests.testFetchFileProgressAsync : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/6f9988ab5faa28f7247664c6ffd9fd85_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileProgressAsync' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileStream' started at 2021-01-24 20:10:01.692
Test Case 'ParseFileTests.testFetchFileStream' passed (0.041 seconds)
Test Case 'ParseFileTests.testFileEquality' started at 2021-01-24 20:10:01.733
Test Case 'ParseFileTests.testFileEquality' passed (0.0 seconds)
Test Case 'ParseFileTests.testLocalUUID' started at 2021-01-24 20:10:01.733
Test Case 'ParseFileTests.testLocalUUID' passed (0.0 seconds)
Test Case 'ParseFileTests.testSave' started at 2021-01-24 20:10:01.734
Test Case 'ParseFileTests.testSave' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveAysnc' started at 2021-01-24 20:10:01.735
Test Case 'ParseFileTests.testSaveAysnc' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFile' started at 2021-01-24 20:10:01.736
<EXPR>:0: error: ParseFileTests.testSaveCloudFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4001050> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testSaveCloudFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFileAysnc' started at 2021-01-24 20:10:01.736
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:869: error: ParseFileTests.testSaveCloudFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testSaveCloudFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFileProgressAysnc' started at 2021-01-24 20:10:01.737
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:955: error: ParseFileTests.testSaveCloudFileProgressAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testSaveCloudFileProgressAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileCancelAsync' started at 2021-01-24 20:10:01.737
Test Case 'ParseFileTests.testSaveFileCancelAsync' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileProgressAsync' started at 2021-01-24 20:10:01.738
Test Case 'ParseFileTests.testSaveFileProgressAsync' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileStream' started at 2021-01-24 20:10:01.738
Test Case 'ParseFileTests.testSaveFileStream' passed (0.04 seconds)
Test Case 'ParseFileTests.testSaveFileStreamCancel' started at 2021-01-24 20:10:01.779
Test Case 'ParseFileTests.testSaveFileStreamCancel' passed (0.04 seconds)
Test Case 'ParseFileTests.testSaveFileStreamProgress' started at 2021-01-24 20:10:01.819
Test Case 'ParseFileTests.testSaveFileStreamProgress' passed (0.042 seconds)
Test Case 'ParseFileTests.testSaveLocalFile' started at 2021-01-24 20:10:01.861
Test Case 'ParseFileTests.testSaveLocalFile' passed (0.041 seconds)
Test Case 'ParseFileTests.testSaveLocalFileAysnc' started at 2021-01-24 20:10:01.903
Test Case 'ParseFileTests.testSaveLocalFileAysnc' passed (0.041 seconds)
Test Case 'ParseFileTests.testSaveWithSpecifyingMime' started at 2021-01-24 20:10:01.944
Test Case 'ParseFileTests.testSaveWithSpecifyingMime' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveWithSpecifyingMimeAysnc' started at 2021-01-24 20:10:01.945
Test Case 'ParseFileTests.testSaveWithSpecifyingMimeAysnc' passed (0.001 seconds)
Test Case 'ParseFileTests.testUploadCommand' started at 2021-01-24 20:10:01.946
Test Case 'ParseFileTests.testUploadCommand' passed (0.001 seconds)
Test Suite 'ParseFileTests' failed at 2021-01-24 20:10:01.946
	 Executed 31 tests, with 12 failures (6 unexpected) in 0.263 (0.263) seconds
Test Suite 'Selected tests' failed at 2021-01-24 20:10:01.947
	 Executed 31 tests, with 12 failures (6 unexpected) in 0.263 (0.263) seconds

I do not yet understand why it is "Unable to sync with parse-server".

You can uncomment these lines in the workflow for now

Done

@cbaker6
Copy link
Contributor

cbaker6 commented Jan 24, 2021

Does ParseFileTests.swift pass with your fix also?

Unfortunately, not.

Here's the full log for ParseFileTests:

$ swift test --enable-test-discovery --filter ParseFileTests
[3/3] Linking ParseSwiftPackageTests.xctest
Test Suite 'Selected tests' started at 2021-01-24 20:10:01.682
Test Suite 'ParseFileTests' started at 2021-01-24 20:10:01.683
Test Case 'ParseFileTests.testCloudFileCancel' started at 2021-01-24 20:10:01.683
<EXPR>:0: error: ParseFileTests.testCloudFileCancel : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffb4000d30> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testCloudFileCancel' failed (0.002 seconds)
Test Case 'ParseFileTests.testCloudFileProgress' started at 2021-01-24 20:10:01.685
<EXPR>:0: error: ParseFileTests.testCloudFileProgress : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000c40> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testCloudFileProgress' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteCommand' started at 2021-01-24 20:10:01.686
Test Case 'ParseFileTests.testDeleteCommand' passed (0.0 seconds)
Test Case 'ParseFileTests.testDeleteFile' started at 2021-01-24 20:10:01.687
<EXPR>:0: error: ParseFileTests.testDeleteFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testDeleteFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteFileAysnc' started at 2021-01-24 20:10:01.687
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:1077: error: ParseFileTests.testDeleteFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/1b0683d529463e173cbf8046d7d9a613_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testDeleteFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testDeleteFileNoMasterKey' started at 2021-01-24 20:10:01.688
Test Case 'ParseFileTests.testDeleteFileNoMasterKey' passed (0.0 seconds)
Test Case 'ParseFileTests.testDeleteNoMasterKeyFileAysnc' started at 2021-01-24 20:10:01.688
Test Case 'ParseFileTests.testDeleteNoMasterKeyFileAysnc' passed (0.0 seconds)
Test Case 'ParseFileTests.testDownloadCommand' started at 2021-01-24 20:10:01.689
Test Case 'ParseFileTests.testDownloadCommand' passed (0.0 seconds)
Test Case 'ParseFileTests.testFetchFile' started at 2021-01-24 20:10:01.689
<EXPR>:0: error: ParseFileTests.testFetchFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testFetchFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileAysnc' started at 2021-01-24 20:10:01.690
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:909: error: ParseFileTests.testFetchFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/7793939a2e59b98138c1bbf2412a060c_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileCancelAsync' started at 2021-01-24 20:10:01.690
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:1041: error: ParseFileTests.testFetchFileCancelAsync : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/7793939a2e59b98138c1bbf2412a060c_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileCancelAsync' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileProgress' started at 2021-01-24 20:10:01.691
<EXPR>:0: error: ParseFileTests.testFetchFileProgress : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testFetchFileProgress' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileProgressAsync' started at 2021-01-24 20:10:01.692
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:997: error: ParseFileTests.testFetchFileProgressAsync : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: http://localhost:1337/1/files/applicationId/6f9988ab5faa28f7247664c6ffd9fd85_logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testFetchFileProgressAsync' failed (0.001 seconds)
Test Case 'ParseFileTests.testFetchFileStream' started at 2021-01-24 20:10:01.692
Test Case 'ParseFileTests.testFetchFileStream' passed (0.041 seconds)
Test Case 'ParseFileTests.testFileEquality' started at 2021-01-24 20:10:01.733
Test Case 'ParseFileTests.testFileEquality' passed (0.0 seconds)
Test Case 'ParseFileTests.testLocalUUID' started at 2021-01-24 20:10:01.733
Test Case 'ParseFileTests.testLocalUUID' passed (0.0 seconds)
Test Case 'ParseFileTests.testSave' started at 2021-01-24 20:10:01.734
Test Case 'ParseFileTests.testSave' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveAysnc' started at 2021-01-24 20:10:01.735
Test Case 'ParseFileTests.testSaveAysnc' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFile' started at 2021-01-24 20:10:01.736
<EXPR>:0: error: ParseFileTests.testSaveCloudFile : threw error "ParseError(code: ParseSwift.ParseError.Code.unknownError, message: "Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4001050> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {\n   \"Content-Type\" = \"application/json\";\n} }).")"
Test Case 'ParseFileTests.testSaveCloudFile' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFileAysnc' started at 2021-01-24 20:10:01.736
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:869: error: ParseFileTests.testSaveCloudFileAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa4000f50> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testSaveCloudFileAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveCloudFileProgressAysnc' started at 2021-01-24 20:10:01.737
/Parse-Swift/Tests/ParseSwiftTests/ParseFileTests.swift:955: error: ParseFileTests.testSaveCloudFileProgressAysnc : failed - ParseError code=-1 error=Unable to sync with parse-server: Optional(<HTTPURLResponse 0x0000ffffa40010c0> { URL: https://parseplatform.org/img/logo.svg }{ status: 200, headers {
   "Content-Type" = "application/json";
} }).
Test Case 'ParseFileTests.testSaveCloudFileProgressAysnc' failed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileCancelAsync' started at 2021-01-24 20:10:01.737
Test Case 'ParseFileTests.testSaveFileCancelAsync' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileProgressAsync' started at 2021-01-24 20:10:01.738
Test Case 'ParseFileTests.testSaveFileProgressAsync' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveFileStream' started at 2021-01-24 20:10:01.738
Test Case 'ParseFileTests.testSaveFileStream' passed (0.04 seconds)
Test Case 'ParseFileTests.testSaveFileStreamCancel' started at 2021-01-24 20:10:01.779
Test Case 'ParseFileTests.testSaveFileStreamCancel' passed (0.04 seconds)
Test Case 'ParseFileTests.testSaveFileStreamProgress' started at 2021-01-24 20:10:01.819
Test Case 'ParseFileTests.testSaveFileStreamProgress' passed (0.042 seconds)
Test Case 'ParseFileTests.testSaveLocalFile' started at 2021-01-24 20:10:01.861
Test Case 'ParseFileTests.testSaveLocalFile' passed (0.041 seconds)
Test Case 'ParseFileTests.testSaveLocalFileAysnc' started at 2021-01-24 20:10:01.903
Test Case 'ParseFileTests.testSaveLocalFileAysnc' passed (0.041 seconds)
Test Case 'ParseFileTests.testSaveWithSpecifyingMime' started at 2021-01-24 20:10:01.944
Test Case 'ParseFileTests.testSaveWithSpecifyingMime' passed (0.001 seconds)
Test Case 'ParseFileTests.testSaveWithSpecifyingMimeAysnc' started at 2021-01-24 20:10:01.945
Test Case 'ParseFileTests.testSaveWithSpecifyingMimeAysnc' passed (0.001 seconds)
Test Case 'ParseFileTests.testUploadCommand' started at 2021-01-24 20:10:01.946
Test Case 'ParseFileTests.testUploadCommand' passed (0.001 seconds)
Test Suite 'ParseFileTests' failed at 2021-01-24 20:10:01.946
	 Executed 31 tests, with 12 failures (6 unexpected) in 0.263 (0.263) seconds
Test Suite 'Selected tests' failed at 2021-01-24 20:10:01.947
	 Executed 31 tests, with 12 failures (6 unexpected) in 0.263 (0.263) seconds

I do not yet understand why it is "Unable to sync with parse-server".

You can uncomment these lines in the workflow for now

Done

I suspect this might actually be okay. The custom URLMocker we have in the tests probably can't jump in front of the URLSession task that FoundationNetworking uses for uploading/downloading files. So it's trying to make a real connection instead of using the mocked one.

Let us know if/when you use a ParseFile in your actual development and if it works.

@cbaker6
Copy link
Contributor

cbaker6 commented Jan 24, 2021

Can you comment back out the Linux tests and we can merge your PR.

@cbaker6 cbaker6 merged commit 7474bcb into parse-community:main Jan 25, 2021
@jt9897253
Copy link
Contributor Author

Let us know if/when you use a ParseFile in your actual development and if it works.

I've tested downloading a parse file, the resulting path looks like

$HOME/.local/share/parse/com.parse.ParseSwift.test/Downloads/18eee9926ee42c4c87d0beeba71fc017_hello.txt

and contains the correct data.

Although ParseFileTests fail, it looks like it is working.

If this really was it, adding parse file support to Linux was way simpler than anticipated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants