xcparse icon indicating copy to clipboard operation
xcparse copied to clipboard

[BUG] xcparse attachments does not include png/json attachments

Open JJdeGroot opened this issue 1 year ago • 1 comments

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:

  1. Create XCTestCase
  2. Use XCTIssue with XCTAttachment to attach a PNG screenshot
  3. Use XCTIssue with XCTAttachment to attach JSON data
  4. Build test, find .xctest location
  5. 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.

JJdeGroot avatar Aug 24 '23 11:08 JJdeGroot

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.

JJdeGroot avatar Aug 24 '23 13:08 JJdeGroot