Tags: ChargePoint/xcparse
Tags
Add support for xcresult v3.34 (#65) Change Description: Adds support for new properties and objects described in xcresulttool's v3.34 of the formatDescription. Test Plan/Testing Performed: Need to add unit tests for the new objects. Was able to confirm that new UUID properties were parsing out properly with existing xcresult.
Arrays of XCResultValueTypes do not parse correctly (#52) Change Description: This change addresses an issue where arrays (such as [Double] in the performance metrics object) were not properly being decoded. This was due to the need to decode into the intermediate type of XCResultValueType in order to get to the true values underneath. Test Plan/Testing Performed: Added the xcresult that @OdNairy gave in #51. Added some explicit tests to double-check that the values returned match what we would expect. Also did a quick test if we removed one of the enum cases like "CPU Time" that the metric type enum would properly handle new metric identifier values from new xcresult versions.
[FEATURE] Sort screenshots into language/region-based folders (#37) Change Description: These changes implement #34 to allow for sorting the screenshots/attachments based off of the language and/or region that the device ran in. Use case for this would be for folks who want to run tests across multiple test plan configurations (perhaps because the configuration enables certain features, simulates the GPS coordinate in a particular area, etc.) but want to group the screenshots back into localization buckets for easy review by language experts/localizers. With these changes, the new boolean flags of --language & --region have been added. If the language flag is specified, we create folders using the language name if it was specified or use "System Default" if the language was the device's system language. Region behaves similarly. If both language & region are specified, the folder is made with the format "language (region)" similar to what we do when both --model and --os are specified. Test Plan/Testing Performed: Tested that with these changes, I can now get screenshots from my configurations with German language all in one folder ("xcparse screenshots --language --region ./Test.xcresult ./screenshots") & separate from my Korean language configs.
xcparse logs does not include logs for App target (#35) Change Description: These changes fix #33 & modify the logs subcommand so that it now will include the Diagnostics folder (which has things like the app target logs for specific test runs on individual simulators). As there can be multiple Diagnostics folder (one per action), we've adopted a folder structure that is similar to Xcode 10 xcresult where we will number & tag the action name ("1_Run", "2_Test", etc.). The log text file we used to output is now put into this folder structure, in addition to any Diagnostics directory & files associated with that action. Test Plan/Testing Performed: Tested with these changes that I can now get the Diagnostics folder for various test actions & have them properly divided by folders. Also confirmed that change to create destination directory works for the codecov & logs subcommands.
[BUG] xcparse doesn't export screenshots for iPhone Xʀ on Xcode 11.1 … …or below (#31) Change Description: These changes are to help address issues with using xcparse on Xcode 11.1 and below. Apple's xcresulttool, which we use to extract the screenshots, crashes in some versions when attempting to export out attachments to directory paths that have Unicode characters like "iPhone Xʀ" or "한국어". This leads to the user being unable to get their screenshots & not knowing why. The changes here introduce the ability for xcparse to understand the version of xcresulttool & change behavior of exporting based off the versioning. For xcresulttool versions below 15500, we change "iPhone Xʀ" to "iPhone XR" & any other non-ASCII compatible characters into their lossy ASCII conversion (often "?"). For xcresulttool 15500 or above, we continue exporting how we always have. In all cases for users with xcresulttool below 15500, we warn them about the issue in their version and encourage them to update Xcode. In cases where users with xcresulttool version below 155000 have a destination folder path that can not be represented in ASCII, we hard-fail export and alert the user they need to update Xcode. Test Plan/Testing Performed: Tested that with these changes, iPhone XR screenshots can be retrieved on Xcode 11.1. When using test run configuration names with Korean characters, confirmed that we export into a lossy ASCII version of the string (though this will lead to loss of some folders since "한국어" & "중국어" will both become "???")
PreviousNext