parallel_tests 3.12.1 → 4.0.0

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: 362c711acce6411e69e8987e7a32297ef6267072892e81b432040aa327f11283
4
- data.tar.gz: 2d7d90cd55bd36c9cabbd8e4611be6f2880d131a672ba12ee63a3ce75e121e50
3
+ metadata.gz: fcf9040fbe779832d8f04c064321136d832b115d493353ba3e5efa473a02a774
4
+ data.tar.gz: f9179c53e375db68d53d2c9136b1cc36567ebeb143ad85a44f185d3ccf91a90c
5
5
  SHA512:
6
- metadata.gz: 21515894c5ea5c24cb947b1b7e7e2cf2494dca58f7b9982cc180f1ab11f74407ea67e3299a2fb5040263580d1a8ed4e89792b4a76eb56f6d067bbda332d99223
7
- data.tar.gz: c2f922c148bd15d7fe4e95d0c75300ffa0cdc013307ef3e7d47c28d81106586f64903b35afaf5fa7ee95f40a2183e9bf87b4113ff472a8ff0ada52bcd014cbc0
6
+ metadata.gz: 80a68d9b21660e5f0294730cc42a591f13a1f9b75b0e1d6649ab94be5a1dacb48c3fef1dac8e0733abc08a01b063d917a05f6dd791b2887a20921139dc87bde3
7
+ data.tar.gz: 0b0f70fdff83e0fd14594d4a6eaa99d7576bafb746d2c5a6913d3bfca6d7c6cf9d4a11098e7593102a007bddf8345a3ddf6ac712eeef2647e7a6f699cfb2d37f
@@ -131,12 +131,12 @@ module ParallelTests
131
131
  failing_sets = test_results.reject { |r| r[:exit_status] == 0 }
132
132
  return if failing_sets.none?
133
133
 
134
- if options[:verbose] || options[:verbose_rerun_command]
134
+ if options[:verbose] || options[:verbose_command]
135
135
  puts "\n\nTests have failed for a parallel_test group. Use the following command to run the group again:\n\n"
136
136
  failing_sets.each do |failing_set|
137
137
  command = failing_set[:command]
138
138
  command = @runner.command_with_seed(command, failing_set[:seed]) if failing_set[:seed]
139
- puts Shellwords.shelljoin(command)
139
+ @runner.print_command(command, failing_set[:env] || {})
140
140
  end
141
141
  end
142
142
  end
@@ -261,8 +261,7 @@ module ParallelTests
261
261
  opts.on("--first-is-1", "Use \"1\" as TEST_ENV_NUMBER to not reuse the default test environment") { options[:first_is_1] = true }
262
262
  opts.on("--fail-fast", "Stop all groups when one group fails (best used with --test-options '--fail-fast' if supported") { options[:fail_fast] = true }
263
263
  opts.on("--verbose", "Print debug output") { options[:verbose] = true }
264
- opts.on("--verbose-process-command", "Displays only the command that will be executed by each process") { options[:verbose_process_command] = true }
265
- opts.on("--verbose-rerun-command", "When there are failures, displays the command executed by each process that failed") { options[:verbose_rerun_command] = true }
264
+ opts.on("--verbose-command", "Displays the command that will be executed by each process and when there are failures displays the command executed by each process that failed") { options[:verbose_command] = true }
266
265
  opts.on("--quiet", "Print only tests output") { options[:quiet] = true }
267
266
  opts.on("-v", "--version", "Show Version") do
268
267
  puts ParallelTests::VERSION
@@ -316,12 +315,12 @@ module ParallelTests
316
315
  def extract_file_paths(argv)
317
316
  dash_index = argv.rindex("--")
318
317
  file_args_at = (dash_index || -1) + 1
319
- [argv[file_args_at..-1], argv[0...(dash_index || 0)]]
318
+ [argv[file_args_at..], argv[0...(dash_index || 0)]]
320
319
  end
321
320
 
322
321
  def extract_test_options(argv)
323
322
  dash_index = argv.index("--") || -1
324
- argv[dash_index + 1..-1]
323
+ argv[dash_index + 1..]
325
324
  end
326
325
 
327
326
  def append_test_options(options, argv)
@@ -27,7 +27,7 @@ module ParallelTests
27
27
  example_tags = example.tags.map(&:name)
28
28
  example_tags = scenario_tags + example_tags
29
29
  next unless matches_tags?(example_tags)
30
- example.rows[1..-1].each do |row|
30
+ example.rows[1..].each do |row|
31
31
  test_line = row.source_line
32
32
  next if line_numbers.any? && !line_numbers.include?(test_line)
33
33
 
@@ -57,7 +57,7 @@ module ParallelTests
57
57
  plural = "s" if (word == group) && (number != 1)
58
58
  "#{number} #{word}#{plural}"
59
59
  end
60
- "#{sums[0]} (#{sums[1..-1].join(", ")})"
60
+ "#{sums[0]} (#{sums[1..].join(", ")})"
61
61
  end.compact.join("\n")
62
62
  end
63
63
 
@@ -38,7 +38,7 @@ module ParallelTests
38
38
  # add all files that should run in a multiple isolated processes to their own groups
39
39
  group_features_by_size(items_to_group(single_items), groups[0..(isolate_count - 1)])
40
40
  # group the non-isolated by size
41
- group_features_by_size(items_to_group(items), groups[isolate_count..-1])
41
+ group_features_by_size(items_to_group(items), groups[isolate_count..])
42
42
  else
43
43
  # add all files that should run in a single non-isolated process to first group
44
44
  single_items.each { |item, size| add_to_group(groups.first, item, size) }
@@ -97,11 +97,16 @@ module ParallelTests
97
97
  # being able to run with for example `-output foo-$TEST_ENV_NUMBER` worked originally and is convenient
98
98
  cmd.map! { |c| c.gsub("$TEST_ENV_NUMBER", number).gsub("${TEST_ENV_NUMBER}", number) }
99
99
 
100
- puts Shellwords.shelljoin(cmd) if report_process_command?(options) && !options[:serialize_stdout]
100
+ print_command(cmd, env) if report_process_command?(options) && !options[:serialize_stdout]
101
101
 
102
102
  execute_command_and_capture_output(env, cmd, options)
103
103
  end
104
104
 
105
+ def print_command(command, env)
106
+ env_str = ['TEST_ENV_NUMBER', 'PARALLEL_TEST_GROUPS'].map { |e| "#{e}=#{env[e]}" }.join(' ')
107
+ puts [env_str, Shellwords.shelljoin(command)].compact.join(' ')
108
+ end
109
+
105
110
  def execute_command_and_capture_output(env, cmd, options)
106
111
  pid = nil
107
112
 
@@ -119,7 +124,7 @@ module ParallelTests
119
124
 
120
125
  output = "#{Shellwords.shelljoin(cmd)}\n#{output}" if report_process_command?(options) && options[:serialize_stdout]
121
126
 
122
- { stdout: output, exit_status: exitstatus, command: cmd, seed: seed }
127
+ { env: env, stdout: output, exit_status: exitstatus, command: cmd, seed: seed }
123
128
  end
124
129
 
125
130
  def find_results(test_output)
@@ -286,7 +291,7 @@ module ParallelTests
286
291
  end
287
292
 
288
293
  def report_process_command?(options)
289
- options[:verbose] || options[:verbose_process_command]
294
+ options[:verbose] || options[:verbose_command]
290
295
  end
291
296
  end
292
297
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ParallelTests
3
- VERSION = '3.12.1'
3
+ VERSION = '4.0.0'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2022-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- description:
27
+ description:
28
28
  email: michael@grosser.it
29
29
  executables:
30
30
  - parallel_spinach
@@ -68,10 +68,10 @@ licenses:
68
68
  - MIT
69
69
  metadata:
70
70
  bug_tracker_uri: https://github.com/grosser/parallel_tests/issues
71
- documentation_uri: https://github.com/grosser/parallel_tests/blob/v3.12.1/Readme.md
72
- source_code_uri: https://github.com/grosser/parallel_tests/tree/v3.12.1
71
+ documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.0.0/Readme.md
72
+ source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.0.0
73
73
  wiki_uri: https://github.com/grosser/parallel_tests/wiki
74
- post_install_message:
74
+ post_install_message:
75
75
  rdoc_options: []
76
76
  require_paths:
77
77
  - lib
@@ -79,15 +79,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 2.5.0
82
+ version: 2.7.0
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  requirements: []
89
- rubygems_version: 3.0.3.1
90
- signing_key:
89
+ rubygems_version: 3.3.3
90
+ signing_key:
91
91
  specification_version: 4
92
92
  summary: Run Test::Unit / RSpec / Cucumber / Spinach in parallel
93
93
  test_files: []