fastlane/lib/fastlane/actions/run_tests.rb in fastlane-2.139.0 vs fastlane/lib/fastlane/actions/run_tests.rb in fastlane-2.140.0
- old
+ new
@@ -8,22 +8,15 @@
end
class RunTestsAction < Action
def self.run(values)
require 'scan'
- plist_files_before = []
+ manager = Scan::Manager.new
begin
- destination = values[:destination] # save destination value which can be later overridden
- Scan.config = values # we set this here to auto-detect missing values, which we need later on
- unless values[:derived_data_path].to_s.empty?
- plist_files_before = test_summary_filenames(values[:derived_data_path])
- end
+ manager.work(values)
- values[:destination] = destination # restore destination value
- Scan::Manager.new.work(values)
-
zip_build_products_path = Scan.cache[:zip_build_products_path]
Actions.lane_context[SharedValues::SCAN_ZIP_BUILD_PRODUCTS_PATH] = zip_build_products_path if zip_build_products_path
return true
rescue FastlaneCore::Interface::FastlaneBuildFailure => ex
@@ -35,12 +28,14 @@
if values[:fail_build]
raise ex
end
ensure
unless values[:derived_data_path].to_s.empty?
+ plist_files_before = manager.plist_files_before || []
+
Actions.lane_context[SharedValues::SCAN_DERIVED_DATA_PATH] = values[:derived_data_path]
- plist_files_after = test_summary_filenames(values[:derived_data_path])
+ plist_files_after = manager.test_summary_filenames(values[:derived_data_path])
all_test_summaries = (plist_files_after - plist_files_before)
Actions.lane_context[SharedValues::SCAN_GENERATED_PLIST_FILES] = all_test_summaries
Actions.lane_context[SharedValues::SCAN_GENERATED_PLIST_FILE] = all_test_summaries.last
end
end
@@ -82,21 +77,9 @@
def self.is_supported?(platform)
[:ios, :mac].include?(platform)
end
private_class_method
-
- def self.test_summary_filenames(derived_data_path)
- files = []
-
- # Xcode < 10
- files += Dir["#{derived_data_path}/**/Logs/Test/*TestSummaries.plist"]
-
- # Xcode 10
- files += Dir["#{derived_data_path}/**/Logs/Test/*.xcresult/TestSummaries.plist"]
-
- return files
- end
def self.example_code
[
'run_tests',
'scan # alias for "run_tests"',