cyrun 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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: []