geordi 6.0.0 → 6.0.1

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: 972d947bfb273cec9f5bb3a586ab1ead5021b63466b4322a42b047947c846c45
4
- data.tar.gz: fd796ff8f25567d340e24012929ffda3a54eafba1f3b98c718ccdfab4c7b213b
3
+ metadata.gz: 57407a29854dbd2b1b1d854d652377db25791fd36353cfdcbd56a2dfbddb5a1d
4
+ data.tar.gz: 27f83bb707fc85575e348b6f83ce74b86baffe1d224a6fe3794ee19a3ed7ff00
5
5
  SHA512:
6
- metadata.gz: 889947c5d0139c9cc1fe4b7cc95ae7b08e83a0966696fce6e800db777c214544a6b8879b478e2999073c863405ff8e98a33c15ec4ad5ac73c92ab35f6084d1ae
7
- data.tar.gz: c2771b0ca090e9d68557a6f8e9e1539a7b573f78caa7f66e6bdecc441710a4617fe390735a8f0b97304d10b5583d85b63dec13e7a0d74df421d41820262cd604
6
+ metadata.gz: 6e3cfe2af06cde2485cd95d1e2b48743bc37e7b7987bf5f1f337d60f919de6014c719d472875940c8f8b5b53da1453e0e7f923e28e1b31d671c4a105531f3f78
7
+ data.tar.gz: 49317f106b384e010f9c7854691f298f9e8909531c956a3a57989d496bb9cc324c9ed388818697d0ca55f8522b2c3ae7af369c774d854049e0b5ed7fd157c8a3
data/CHANGELOG.md CHANGED
@@ -6,19 +6,31 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
6
6
  ## Unreleased
7
7
 
8
8
  ### Compatible changes
9
- * Removed support for serial execution of scenarios tagged with @solo.
10
-
11
9
  ### Breaking changes
12
10
 
13
- ## 6.0.0 2021-04-06
11
+
12
+ ## 6.1.0 2021-07-15
13
+
14
+ ### Compatible changes
15
+ * Improve parsing of Capistrano files ([#162](https://github.com/makandra/geordi/issues/162))
16
+ * `geordi tests` now takes test files as arguments and passes them to either RSpec or Cucumber ([#152](https://github.com/makandra/geordi/issues/152))
17
+
18
+
19
+ ## 6.0.0 2021-06-02
14
20
 
15
21
  ### Compatible changes
16
22
  * `geordi commit` will continue even if one of the given projects is inaccessible. It will only fail if no stories could be found at all.
17
23
 
18
24
  ### Breaking changes
19
- * Removed VNC test browser support for integration tests.
25
+ * Removed VNC test browser support for integration tests – Headless Chrome has
26
+ matured and is almost a drop-in replacement. Also, key binding issues have
27
+ increased with VNC and recent Linux.
20
28
  * Please use a headless Chrome setup <https://makandracards.com/makandra/492109-capybara-running-tests-with-headless-chrome>.
21
29
  * You might also want to get rid of your local VNC server `sudo apt remove tightvncserver`.
30
+ * Removed support for serial execution of scenarios tagged with @solo. Serial
31
+ execution is not needed with Headless Chrome, as Headless instances cannot
32
+ interfere (like, stealing focus).
33
+
22
34
 
23
35
  ## 5.4.0 2021-02-01
24
36
 
data/Gemfile CHANGED
@@ -9,5 +9,5 @@ gem 'rspec'
9
9
  gem 'highline'
10
10
  gem 'parallel_tests'
11
11
  gem 'launchy'
12
- gem 'pry'
12
+ gem 'byebug'
13
13
  gem 'tracker_api'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- geordi (6.0.0)
4
+ geordi (6.0.1)
5
5
  thor (~> 1)
6
6
 
7
7
  GEM
@@ -22,9 +22,9 @@ GEM
22
22
  thread_safe (~> 0.3, >= 0.3.1)
23
23
  backports (3.18.2)
24
24
  builder (3.2.4)
25
+ byebug (10.0.2)
25
26
  childprocess (1.0.1)
26
27
  rake (< 13.0)
27
- coderay (1.1.3)
28
28
  coercible (1.0.0)
29
29
  descendants_tracker (~> 0.0.1)
30
30
  contracts (0.16.0)
@@ -61,7 +61,6 @@ GEM
61
61
  ice_nine (0.11.2)
62
62
  launchy (2.4.3)
63
63
  addressable (~> 2.3)
64
- method_source (1.0.0)
65
64
  mimemagic (0.3.9)
66
65
  nokogiri (~> 1)
67
66
  rake
@@ -74,9 +73,6 @@ GEM
74
73
  parallel (1.19.2)
75
74
  parallel_tests (2.32.0)
76
75
  parallel
77
- pry (0.13.1)
78
- coderay (~> 1.1)
79
- method_source (~> 1.0)
80
76
  public_suffix (3.1.1)
81
77
  rake (12.3.3)
82
78
  representable (3.0.4)
@@ -120,11 +116,11 @@ PLATFORMS
120
116
 
121
117
  DEPENDENCIES
122
118
  aruba (< 1)
119
+ byebug
123
120
  geordi!
124
121
  highline
125
122
  launchy
126
123
  parallel_tests
127
- pry
128
124
  rake (< 13)
129
125
  rspec
130
126
  tracker_api
data/README.md CHANGED
@@ -342,9 +342,15 @@ servers. When passed a number, directly connects to the selected server.
342
342
  - `-s, [--select-server=[SERVER_NUMBER]]`: Select a server to connect to
343
343
 
344
344
 
345
- ### `geordi tests`
345
+ ### `geordi tests [FILES]`
346
346
  Run all employed tests.
347
347
 
348
+ When running `geordi tests` without any arguments, all unit tests, rspec specs
349
+ and cucumber features will be run.
350
+
351
+ When passing arguments, Geordi will forward them to either `rspec` or `cucumber`,
352
+ depending on what the first argument indicates.
353
+
348
354
 
349
355
  ### `geordi unit`
350
356
  Run Test::Unit.
@@ -11,7 +11,7 @@ module Geordi
11
11
 
12
12
  def user(server)
13
13
  cap2user = deploy_info[/^\s*set\s*:user,\s*['"](.*?)['"]/, 1]
14
- cap2user || deploy_info[/^\s*server\s*['"]#{server}['"],.*user.{1,4}['"](.*?)['"]/m, 1]
14
+ cap2user || deploy_info[/^\s*server\s*['"]#{server}['"],.*user.{1,4}['"](.*?)['"]/, 1]
15
15
  end
16
16
 
17
17
  def servers
@@ -42,14 +42,23 @@ module Geordi
42
42
  attr_accessor :deploy_info, :stage
43
43
 
44
44
  def load_deploy_info
45
+ lines = []
45
46
  self.deploy_info = ''
46
47
 
47
48
  if stage
48
- deploy_info << File.read(File.join(root, "config/deploy/#{stage}.rb"))
49
- deploy_info << "\n"
49
+ lines += File.readlines(File.join(root, "config/deploy/#{stage}.rb"))
50
50
  end
51
51
 
52
- deploy_info << File.read(File.join(root, 'config/deploy.rb'))
52
+ lines += File.readlines(File.join(root, 'config/deploy.rb'))
53
+
54
+ lines.each do |line|
55
+ next if line =~ /^\s*#/ # Omit comment lines
56
+ line.chomp! if line =~ /[\\,]\s*$/ # Join wrapped lines
57
+
58
+ deploy_info << line
59
+ end
60
+
61
+ deploy_info
53
62
  end
54
63
 
55
64
  def find_project_root!
@@ -1,14 +1,38 @@
1
- desc 'tests', 'Run all employed tests'
2
- def tests
3
- rake_result = invoke_geordi 'with_rake'
4
-
5
- # Since `rake` usually is configured to run all tests, only run them if `rake`
6
- # did not perform
7
- if rake_result == :did_not_perform
8
- invoke_geordi 'unit'
9
- invoke_geordi 'rspec'
10
- invoke_geordi 'cucumber'
11
- end
1
+ desc 'tests [FILES]', 'Run all employed tests'
2
+ long_desc <<-LONGDESC
3
+ When running `geordi tests` without any arguments, all unit tests, rspec specs
4
+ and cucumber features will be run.
5
+
6
+ When passing arguments, Geordi will forward them to either `rspec` or `cucumber`,
7
+ depending on what the first argument indicates.
8
+ LONGDESC
9
+
10
+ def tests(*args)
11
+ if args.any?
12
+ args, opts = Thor::Options.split(args)
13
+ error_message = "When passing arguments, the first argument must be either an RSpec or a Cucumber path."
14
+
15
+ if args.empty?
16
+ Interaction.fail error_message
17
+ elsif args.first.start_with? 'spec'
18
+ invoke 'rspec', args, opts
19
+ elsif args.first.start_with? 'features'
20
+ invoke 'cucumber', args, opts
21
+ else
22
+ Interaction.fail error_message
23
+ end
12
24
 
13
- Interaction.success 'Successfully ran tests.'
25
+ else
26
+ rake_result = invoke_geordi 'with_rake'
27
+
28
+ # Since `rake` usually is configured to run all tests, only run them if `rake`
29
+ # did not perform
30
+ if rake_result == :did_not_perform
31
+ invoke_geordi 'unit'
32
+ invoke_geordi 'rspec'
33
+ invoke_geordi 'cucumber'
34
+ end
35
+
36
+ Interaction.success 'Successfully ran tests.'
37
+ end
14
38
  end
@@ -1,3 +1,3 @@
1
1
  module Geordi
2
- VERSION = '6.0.0'.freeze
2
+ VERSION = '6.0.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geordi
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-02 00:00:00.000000000 Z
11
+ date: 2021-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -102,7 +102,7 @@ metadata: {}
102
102
  post_install_message: 'Support for sequential running of integration tests tagged
103
103
  with @solo has been dropped.
104
104
 
105
- '
105
+ '
106
106
  rdoc_options: []
107
107
  require_paths:
108
108
  - lib