xcparse
xcparse copied to clipboard
[BUG] xcparse attachments does not include png/json attachments
Describe the bug
When using the xcparse attachments
command, only .heic
images are extracted from my xctest. The output folder also contains .png
images and .json
files which are not extracted.
Desktop (please complete the following information):
- OS: macOS 13.2.1 build 22D68
- xcparse version: 2.3.1
- Swift version: 5.8.1
- XCResult version: 3.39
Crash Report
The DiagnosticReports
folder does not contain any xcparse reports.
To Reproduce Steps to reproduce the behavior:
- Create XCTestCase
- Use XCTIssue with XCTAttachment to attach a PNG screenshot
- Use XCTIssue with XCTAttachment to attach JSON data
- Build test, find .xctest location
- Run
xcparse attachments /path/to/.xcresult /output/path
with the right locations
Expected behavior I expect to receive a folder with all attachments for the test. E.g. the same attachments as I can browse using the Xcode interface.
Additional context The Xcode output directory looks like this:
IDEResultCache-D7CA4802-DD80-4106-8282-28A9346E918C-55257-0000046BB055F232 % tree
.
├── 0~2QKSXk_fXkTsHPJGs0iqE1oE2oJ23H2s12fhKNzCSTrSpPmPiphWggu-TJRKG0RnRPcjE7bVuf4K-OWcVUzHBw==
│ └── Element snapshot_2_BC641069-A876-42D7-AD9E-54D7CB3B984D.png
├── 0~BuQTrGpXqnd977I76c4YXa-Upu5oQsLFGPcttqCH858WKqfdVfR5raQ-QNb-VPm3aquG3vZvb6gbzydAx-Lpzg==
│ └── Element screenshot_1_BC641069-A876-42D7-AD9E-54D7CB3B984D.png
├── 0~HX82NkiROKN3OSbjkqSttx2NjlMyg5mj0-zE581a3se7JR-UtSsdBu2wrITqNo_drSea0kRU5TWFiaxYu4UO9A==
│ └── Diagnostics
│ ├── AbraTests-A8C90B44-9B69-478C-B8B9-ADFE9F59F19F-Configuration-Test Scheme Action-Iteration-1
│ │ ├── AbraTests-E113A3A6-4679-4423-8CA8-551BDA44E742
│ │ │ ├── Session-AbraTests-2023-08-24_120055-zs75Ia.log
│ │ │ ├── StandardOutputAndStandardError-xxx.xxx.xxx.txt
│ │ │ └── StandardOutputAndStandardError.txt
│ │ └── scheduling.log
│ └── iPhone XXXXX
│ └── testmanagerd.log
├── 0~RQgnd2gIorXiOFhHeYK51GOSHI5EgUKIYmgh6avDoy_haMKTlIaDdPhKB5A6YI7VcZsSe7xK-XR6uS0LY3W-Lg==
│ ├── Screenshot_1_29B55B7F-01F5-480D-B5E7-020E4A6AEEF2.heic
│ └── Screenshot_1_872A04D0-776B-4BD4-9707-66DA5BC5EDF1.heic
├── 0~_4soaPjeoge_8u8tboih21NzssNTe3Y4epOu9eSkfPcA5GMnJlr7GbdIqjbaJNcOSYaz8kj1uQfCBqa0Jh4YAQ==
│ ├── Screenshot_1_53473D18-426F-4EAC-92B7-307C67A414EC.heic
│ └── Screenshot_1_92377D15-AFCF-4A00-B518-C090C276B78E.heic
├── 0~dyU0Q5vAdoMCOmnB25QWpZ3WfKDhY3v39YkjhM8YqO3nTQKRyODYik43gg9EiObqIQ40jAAnxUEIiAXNlt0zPw==
│ ├── Screenshot_1_57C28ABA-FF43-4436-8A4A-1360E5C8BB7D.heic
│ ├── Screenshot_1_5B1D6582-4E7F-4187-9B1D-CD19D0F7A768.heic
│ └── Screenshot_1_B60F278D-A78F-4FB2-AE2F-C14CA60F2A1A.heic
├── 0~py6RqezrHff1Af-25NvN4lai1nkkwawW6BwUyADrkPAygG8FaV0UrFDa6taUOH5AUptUwLRJQhbhY8jOjhAcSg==
│ └── Screenshot_1_CCD2EF25-30E2-4A5D-A0B2-F7C7AAC5A7C2.heic
└── 0~tojreXv06JtyW9zi6QnKUthxF0UPNOBQC0yCGoKln08V8P3epCB7yq5FLt6m57jiamHi8gQt4q0yOUsu5uQLaw==
└── Element data_3_BC641069-A876-42D7-AD9E-54D7CB3B984D.json
The xcparse output folder looks like this
XcodeScreens % tree
.
├── Screenshot_1_05AB0F74-05EF-4BBA-A957-D2EFAEE04297.heic
├── Screenshot_1_1726F397-FF48-4869-832C-C4125CC266EC.heic
├── Screenshot_1_42381FDC-22CD-484C-B1E9-42A0F200CA00.heic
├── Screenshot_1_509A5C5D-301E-45AE-B96E-DBE954A35B92.heic
├── Screenshot_1_BE7AF80A-F929-41B9-A35A-523108E9D625.heic
├── Screenshot_1_C8EF09E2-9D66-46C4-ABD0-4B822C2057F7.heic
├── Screenshot_1_E2C414BD-9DA7-4083-BB92-A810BCFD3B6E.heic
└── Screenshot_1_E30DCFB8-9111-4683-93D1-0DAAEE08AA58.heic
The .json
and .png
attachments are missing.
The .heic
screenshots are automatically taken by Xcode.
I have also tried creating .heic
screenshots, this results in the same issue.
Xcode results
/private/var/folders/wf/zyzjsh9532l7g_p54x97_hlm0000gn/T/IDEResultCache-855BCFEB-7CB5-41C2-BFAF-C02EDC675AB5-72352-000004EE621E90F8
├── 0~-ZCdcalHHnWrLlCWCvnCNKqVELSDACDTL8zs9Jct0v2hU17dgVVuOH1IW_wA0zJuMK3XE_kzOMZ4Dq7DwuIzWA==
│ └── Screenshot_3_60983CFF-C0E2-4DFF-B88B-12C0527FFD8C.jpeg
├── 0~2lPSnjZ0HB-GjJETQBPMYy4XwrM3v3SpwWQeA72j2lTkit3SF1uO52ojCeJ6ntlgFgZazP9uSBGcw19kZbVh3g==
│ └── Screenshot_1_D379317E-B6A9-402D-A1C7-EBE1EA5490D6.heic
├── 0~9uDN1_NdHLa7s9iJKGhT00KqmZj6lcOKOpRvFz5jBbUemDm-N_uz2hlMVvY9Qck7bRt8f2ax0dzsNBJSCbQ58g==
│ └── AbraScreenshotHEIC_2_60983CFF-C0E2-4DFF-B88B-12C0527FFD8C.heic
├── 0~FryBgpoqw4XTk0MTcM6Ru_Vq9bWsS2J6456_GIFLTpag3ARZDqrWWPQ1cBV0YooeonIhJJ4x7tVUCq0U-2RFsA==
│ ├── Screenshot_1_6CF284B6-FAF4-4742-B7D4-E12D413CF862.heic
│ └── Screenshot_1_F8F2DCE3-7A86-4651-B0CB-2D268299D1F5.heic
├── 0~OoJq31rL9RjfzQWZHVDeTa2HMGe6Bea01wXTdElCK9LgrwQGyVYDXPFQFEEHg2k2Bl9Z8DCwh3Kn-qyZsLoEHA==
│ └── Screenshot_1_B3F57900-855B-4D30-9FF9-2D875AF1B4E3.heic
├── 0~XBrx5C5pZvFbO_LaYDj4P7jnqIN5ijVL0WcPhn9c5TqvXgrJhhEd8SAAxAaF03lqPYU2F5x6Cldit_fcV57lTQ==
│ └── AbraScreenshotOriginal_1_60983CFF-C0E2-4DFF-B88B-12C0527FFD8C.png
├── 0~dR2_t8E6C2HRWEf4Qh-w_hgmoKRJJ7kF-5Cm5a7SleNV8K1PNrI7OFz6a6VqRlBz3yM8ghNMHAcM7XLZL7u4jA==
│ └── AbraScreenshotHEIC_2_D3EB2213-E67D-4658-ACBA-0EE636073BDA.heic
├── 0~dTw4s2CZ9CdG4jxsCqHgzB4hM2OyTGZ6mFcc4lX3whU7UwzhpNSWbk0SezJ3pD1xmeKa9r47U3oOQ4oWEIIATA==
│ └── Screenshot_1_AF78AA5B-2ED1-4D12-8F0E-D7DBC6800901.heic
└── 0~tSyQzL0qL9FaN-yGrm6dYnGAC6aOgY73SNyIgV_d-7pJQNQcUcuKDYqlrBBJ24jM7OrUo5v2j0l38L9dw-CUhQ==
└── Diagnostics
├── AbraTests-BF3B75DF-045D-4DB5-BF9C-DE2000432C53-Configuration-Test Scheme Action-Iteration-1
│ ├── AbraTests-370BFD77-728C-4028-B9AE-8E912D350508
│ │ ├── Session-AbraTests-2023-08-24_151208-IUYEWS.log
│ │ ├── StandardOutputAndStandardError-XXXX.txt
│ │ └── StandardOutputAndStandardError.txt
│ └── scheduling.log
└── iPhone van XXXXX
└── testmanagerd.log
xcparse results
/Users/JJ/Downloads/XcodeScreens
├── Screenshot_1_42086982-0586-4D1B-BC8F-268BBD7010C1.heic
├── Screenshot_1_582BC9BD-1961-4141-BA14-46B585393DFC.heic
├── Screenshot_1_6CF284B6-FAF4-4742-B7D4-E12D413CF862.heic
├── Screenshot_1_AF78AA5B-2ED1-4D12-8F0E-D7DBC6800901.heic
├── Screenshot_1_B3F57900-855B-4D30-9FF9-2D875AF1B4E3.heic
├── Screenshot_1_C69F17B9-5C45-4900-9A79-08D4AB6280D9.heic
├── Screenshot_1_D379317E-B6A9-402D-A1C7-EBE1EA5490D6.heic
└── Screenshot_1_F8F2DCE3-7A86-4651-B0CB-2D268299D1F5.heic
For example, AbraScreenshotHEIC_2_60983CFF-C0E2-4DFF-B88B-12C0527FFD8C.heic
has not been processed.