cyrun 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e62e6731281630f345c8e1cd166158771fee4ecbd076648922da738eac4242a
4
- data.tar.gz: 5dcd1a2da03d3370d916474abc34c25ad978790efa03ab06908528987dea34a5
3
+ metadata.gz: 4c751870a0a4c06b31352c046e87a2123b3b3a947267845756885f859d622030
4
+ data.tar.gz: 19f9c9b2e0f8ebfd2f5ff8e5524c6743ad8b2df60aced94893ffc04e0c68836f
5
5
  SHA512:
6
- metadata.gz: 7f12fef457aa139ee04dd87b2bf8de75376e1cbb2e2a3ef5ba166212b45879ea288212c88d586740e32c2b3c81c3cee876ee28ddcf13762dcf6bc7c944aeb9a7
7
- data.tar.gz: b25ad55b81bba08903b632db69b6d8236243e1dfccb2a26571300bde52b6dc989b55093f762d7a036c98b9d9ffac07fb963310650e95b28ef9fb2da524a61648
6
+ metadata.gz: a0b22a5c3c5f1d347db1478e1c1e0494f002010d565fe863c3213887e46d019d9f1daac77b7a3af8804b1c1dd819997cb440517c7138a592bbb8c68f4d50d052
7
+ data.tar.gz: 15b2a4ab4b29a536c3c1f18e1ba0ea6fd5c29fe98f57acddb12af6968cf61f7c953d7af1219aff3f8e223de481cf23ae48af9fbc91e65b9aa545d676562e65b1
data/exe/cyrun CHANGED
@@ -76,3 +76,5 @@ runner = Cyrun::Runner.new(
76
76
  )
77
77
  runner.run
78
78
  runner.store_results(results_directory)
79
+
80
+ Kernel.exit(runner.success ? 0 : 1)
data/lib/cyrun/runner.rb CHANGED
@@ -6,7 +6,7 @@ module Cyrun
6
6
  class Runner
7
7
  include Logging
8
8
 
9
- attr_reader :collector, :group_builder, :task_runner,
9
+ attr_reader :collector, :group_builder, :task_runner, :success,
10
10
  :overall_results, :max_retries, :iterations, :screenshots_directory
11
11
 
12
12
  def initialize(base_directory, pattern, screenshots_pattern, screenshots_directory, group_size, npm_task_name, max_retries: nil, iterations: nil)
@@ -18,6 +18,7 @@ module Cyrun
18
18
  @max_retries = max_retries
19
19
  @iterations = iterations
20
20
  @screenshots_directory = screenshots_directory
21
+ @success = true
21
22
  end
22
23
 
23
24
  def run
@@ -62,15 +63,24 @@ module Cyrun
62
63
 
63
64
  info "Moving #{results.screenshots.size} screenshots to #{directory}"
64
65
  results.screenshots.each do |path|
65
- FileUtils.mv(path, "#{directory}/#{SecureRandom.uuid}-#{File.basename(path)}")
66
- rescue StandardError => e
67
- error "Failed to move screenshot #{path}: #{e.message}"
68
- success = false
66
+ success &&= move_screenshot path, directory
69
67
  end
70
68
 
71
69
  success
72
70
  end
73
71
 
72
+ def move_screenshot(path, directory)
73
+ target_path = "#{directory}/#{SecureRandom.uuid}-#{File.basename(path)}"
74
+ info " -> Moving #{path} to #{target_path}"
75
+ FileUtils.mv(path, target_path)
76
+
77
+ true
78
+ rescue StandardError => e
79
+ error "Failed to move screenshot #{path}: #{e.message}"
80
+
81
+ false
82
+ end
83
+
74
84
  def collect_specs
75
85
  info 'Collecting specs ...'
76
86
  collector.files.each do |filename|
@@ -110,6 +120,7 @@ module Cyrun
110
120
  return if result.success
111
121
 
112
122
  if overall_results.task_fail_count(result.task) > max_retries
123
+ @success = false
113
124
  Cyrun::Logger.info(" -> Finally failed #{result.task.name}")
114
125
  else
115
126
  Cyrun::Logger.info(" -> Re-queuing #{result.task.name}")
data/lib/cyrun/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cyrun
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.6"
5
5
  end
data/sig/runner.rbs CHANGED
@@ -21,6 +21,9 @@ module Cyrun
21
21
  def collect_specs: (String) -> void
22
22
 
23
23
  def copy_result_files: (Array[SingleSpecExecutionResult], String) -> bool
24
+
25
+ def move_screenshot: (String, String)-> bool
26
+
24
27
  def move_screenshots: (SpecGroupExecutionResult, String) -> bool
25
28
 
26
29
  def handle_single_execution_result: (SingleSpecExecutionResult) -> void
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyrun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oskar Kirmis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-24 00:00:00.000000000 Z
11
+ date: 2023-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -85,7 +85,7 @@ metadata:
85
85
  homepage_uri: https://git.iftrue.de/okirmis/cyrun
86
86
  source_code_uri: https://git.iftrue.de/okirmis/cyrun
87
87
  changelog_uri: https://git.iftrue.de/okirmis/cyrun
88
- post_install_message:
88
+ post_install_message:
89
89
  rdoc_options: []
90
90
  require_paths:
91
91
  - lib
@@ -100,8 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  requirements: []
103
- rubygems_version: 3.3.13
104
- signing_key:
103
+ rubygems_version: 3.1.2
104
+ signing_key:
105
105
  specification_version: 4
106
106
  summary: Run and retry cypress specs
107
107
  test_files: []