cem_win_spec 0.1.3 → 0.1.4

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: c59006dbfceccc0e0581630b0091722aa31a5644440bb906572c8429a654c37a
4
- data.tar.gz: 91d3e8e17c961d90e90dd5895376418279062ace8ee3b3327d24a511b7287a98
3
+ metadata.gz: b8483cd4acfa3729cf4bd453fe3ef09a67c71ddd3dcee46f5dc3986e755ddf07
4
+ data.tar.gz: a4ef098f7125bf68579dd1b5902d5cb553ccfcbef355d8bd0e4f1d8900eae395
5
5
  SHA512:
6
- metadata.gz: cddc71efc46c8a5a0872ee5670b6bdcff1b77904190e18e87f3fa728f2bdb8c533bef7382e8df918337b87811fc21ac04a4b0bd0f358774911a78279f9709968
7
- data.tar.gz: d52050dd876973fadb74a801b198e88f56341ee125a96a6407594376d6155a3a02a7037576ec10f775346660a7d5fd34ee75e26966ef7011889c45ad968a9e02
6
+ metadata.gz: 8a1a521b044cc4c14a26efd6b8936f662dc1d2b173918337e49b591fe1178f6357aff317cd7dab4ae167688eea2304b75dc89fde8273bb8e7dcc3d22b8df8d33
7
+ data.tar.gz: a31a1631d32ca72d34f276920de7a9f22f34175afac7306e64f7158ec309cc66ce0e80aab6b3ac430627f170291b9e442fd7516a7231b242c059a39836f5e3e1
data/Gemfile.lock CHANGED
@@ -1,10 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cem_win_spec (0.1.3)
4
+ cem_win_spec (0.1.4)
5
5
  parallel_tests (~> 3.4)
6
6
  puppet_forge (~> 4.1)
7
- tty-spinner (~> 0.9)
8
7
  winrm (~> 2.3)
9
8
  winrm-fs (~> 1.3)
10
9
 
@@ -83,9 +82,6 @@ GEM
83
82
  rubyntlm (0.6.3)
84
83
  rubyzip (2.3.2)
85
84
  semantic_puppet (1.1.0)
86
- tty-cursor (0.7.1)
87
- tty-spinner (0.9.3)
88
- tty-cursor (~> 0.7)
89
85
  unicode-display_width (2.1.0)
90
86
  winrm (2.3.6)
91
87
  builder (>= 2.1.2)
@@ -103,6 +99,7 @@ GEM
103
99
  winrm (~> 2.0)
104
100
 
105
101
  PLATFORMS
102
+ arm64-darwin-22
106
103
  x86_64-darwin-19
107
104
  x86_64-darwin-20
108
105
 
data/cem_win_spec.gemspec CHANGED
@@ -30,7 +30,6 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.add_dependency "winrm", "~> 2.3"
32
32
  spec.add_dependency "winrm-fs", "~> 1.3"
33
- spec.add_dependency "tty-spinner", "~> 0.9"
34
33
  spec.add_dependency "puppet_forge", "~> 4.1"
35
34
  spec.add_dependency "parallel_tests", "~> 3.4"
36
35
  spec.add_development_dependency "pry"
data/exe/cem-win-spec CHANGED
File without changes
@@ -44,7 +44,7 @@ module CemWinSpec
44
44
 
45
45
  def enable_symlinks(**opts)
46
46
  @enable_symlinks ||= new_command('Enable symlinks', **opts) do
47
- remote_exec('fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1')
47
+ remote_run('fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1')
48
48
  end
49
49
  end
50
50
 
@@ -76,8 +76,13 @@ module CemWinSpec
76
76
 
77
77
  def setup_ruby(**opts)
78
78
  @setup_ruby ||= new_command('Set up ruby', **opts) do
79
- remote_run('bundle config disable_platform_warnings true')
80
- remote_run('bundle install')
79
+ remote_run(
80
+ [
81
+ 'bundle config disable_platform_warnings true',
82
+ 'bundle config set --local without \'local_development\'',
83
+ 'bundle install',
84
+ ],
85
+ )
81
86
  end
82
87
  end
83
88
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CemWinSpec
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -22,12 +22,16 @@ module CemWinSpec
22
22
  end
23
23
 
24
24
  def run(cmd, *_args, **_kwargs)
25
+ cmd = cmd.join('; ') if cmd.is_a?(Array)
25
26
  log_command(cmd)
26
27
  shell = nil
27
28
  output = nil
28
29
  begin
29
30
  shell = conn.shell(:powershell)
30
- output = shell.run(command(cmd))
31
+ output = shell.run(command(cmd)) do |stdout, stderr|
32
+ logger << stdout unless stdout.nil? || stdout.empty?
33
+ logger << stderr unless stderr.nil? || stderr.empty?
34
+ end
31
35
  rescue WinRM::WinRMAuthorizationError => e
32
36
  @available = false
33
37
  raise e
@@ -25,7 +25,6 @@ module CemWinSpec
25
25
  add_command_block(&block) unless block.nil?
26
26
  @reuse_tunnel = true
27
27
  @ignore_exitcode = false
28
- @spinner = nil
29
28
  @result = nil
30
29
  end
31
30
 
@@ -96,12 +95,6 @@ module CemWinSpec
96
95
  false
97
96
  end
98
97
 
99
- def spinner=(value)
100
- raise ArgumentError, 'spinner must implement #auto_spin and #stop methods' unless value.respond_to?(:auto_spin) && value.respond_to?(:stop)
101
-
102
- @spinner = value
103
- end
104
-
105
98
  # Proxy method calls for methods that don't exist here to various other objects.
106
99
  # This allows doing things like: `win_exec.remote_exec('Get-Process')` and
107
100
  # calling the `exec` method on the `winrm_exec` object. This is done by
@@ -157,13 +150,10 @@ module CemWinSpec
157
150
  def run(*args, **kwargs)
158
151
  validate_instance_variables
159
152
  logger.info "Running #{@title}"
160
- @spinner&.auto_spin
161
153
  result = run_with_tunnel { run_in_current_scope(*args, **kwargs) }
162
- @spinner&.stop
163
154
  @result = Output.new(result)
164
155
  return if @result.pending_threaded?
165
156
 
166
- @result.puts_combined
167
157
  unless @result.success? || ignore_exitcode?
168
158
  raise "Command failed with exit code #{@result.exitcode}: #{@result.stdout}\n#{@result.stderr}"
169
159
  end
@@ -201,13 +191,6 @@ module CemWinSpec
201
191
  def run_in_current_scope(*args, **kwargs)
202
192
  instance_exec(*args, **kwargs, &@block) # self is the "instance"
203
193
  end
204
-
205
- def wrap_spinner
206
- @spinner.auto_spin if @spinner
207
- yield if block_given?
208
- ensure
209
- @spinner.stop if @spinner
210
- end
211
194
  end
212
195
  end
213
196
  end
@@ -47,7 +47,6 @@ module CemWinSpec
47
47
  wexec.add_command_block(&block)
48
48
  wexec.reuse_tunnel = opts[:reuse_tunnel] if opts.key?(:reuse_tunnel)
49
49
  wexec.ignore_exitcode = opts[:ignore_exitcode] if opts.key?(:ignore_exitcode)
50
- wexec.spinner = opts[:spinner] if opts.key?(:spinner)
51
50
  logger.debug 'Created Wexec'
52
51
  wexec
53
52
  end
data/lib/cem_win_spec.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'tty-spinner'
4
3
  require_relative 'cem_win_spec/logging'
5
4
  require_relative 'cem_win_spec/test_runner'
6
5
 
@@ -39,20 +38,19 @@ module CemWinSpec
39
38
  logger.debug "Created TestRunner: #{runner}"
40
39
  signal_handler(runner)
41
40
  logger.debug 'Set up signal handler'
42
- spinner = TTY::Spinner.new(format: :classic, interval: 1, hide_cursor: true, clear: true)
43
41
  begin
44
- sre_out = setup_remote_environment(runner, spinner)
42
+ sre_out = setup_remote_environment(runner)
45
43
  check_output!(sre_out, runner)
46
44
  module_dir = sre_out.stdout.chomp
47
45
  logger.debug "Module dir: #{module_dir}"
48
- srr_out = setup_remote_ruby(runner, module_dir, spinner, **options)
46
+ srr_out = setup_remote_ruby(runner, module_dir, **options)
49
47
  check_output!(srr_out, runner)
50
48
  case operation
51
49
  when :spec
52
- spec_out = run_spec(runner, module_dir, spinner, **options)
50
+ spec_out = run_spec(runner, module_dir, **options)
53
51
  check_output!(spec_out, runner)
54
52
  when :clean_fixture_cache
55
- clean_fixture_cache_out = clean_fixture_cache(runner, module_dir, spinner, **options)
53
+ clean_fixture_cache_out = clean_fixture_cache(runner, module_dir, **options)
56
54
  check_output!(clean_fixture_cache_out, runner)
57
55
  else
58
56
  raise ArgumentError, "Unknown operation: #{operation}"
@@ -64,7 +62,7 @@ module CemWinSpec
64
62
  end
65
63
  end
66
64
 
67
- def self.setup_remote_environment(runner, spinner)
65
+ def self.setup_remote_environment(runner)
68
66
  runner.enable_long_paths.run
69
67
  runner.enable_symlinks.run
70
68
  runner.enable_symlinks.run
@@ -74,31 +72,28 @@ module CemWinSpec
74
72
  runner.upload_module(operation_timeout: 300, receive_timeout: 310, working_dir: working_dir).run
75
73
  end
76
74
 
77
- def self.setup_remote_ruby(runner, module_dir, spinner, **opts)
75
+ def self.setup_remote_ruby(runner, module_dir, **opts)
78
76
  runner.setup_ruby(operation_timeout: 300,
79
77
  receive_timeout: 310,
80
78
  working_dir: module_dir,
81
79
  reuse_tunnel: false,
82
- spinner: spinner,
83
80
  **opts).run
84
81
  end
85
82
 
86
83
  # Runs RSpec tests
87
- def self.run_spec(runner, module_dir, spinner, **opts)
88
- #runner.rspec_prep(working_dir: module_dir, reuse_tunnel: false, spinner: spinner).run
84
+ def self.run_spec(runner, module_dir, **opts)
89
85
  runner.rspec_tests_parallel(operation_timeout: 300,
90
86
  receive_timeout: 310,
91
87
  working_dir: module_dir,
92
88
  ignore_exitcode: true,
93
89
  reuse_tunnel: false,
94
- spinner: spinner,
95
90
  **opts).run
96
91
  end
97
92
 
98
93
  # Clean the remote fixture cache
99
94
  # @param options [Hash] Options for the test runner
100
- def self.clean_fixture_cache(runner, module_dir, spinner, **opts)
101
- runner.clean_fixture_cache(working_dir: module_dir, spinner: spinner, **opts).run
95
+ def self.clean_fixture_cache(runner, module_dir, **opts)
96
+ runner.clean_fixture_cache(working_dir: module_dir, **opts).run
102
97
  end
103
98
 
104
99
  def self.check_output!(output, runner = nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cem_win_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heston Snodgrass
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-06 00:00:00.000000000 Z
11
+ date: 2023-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: winrm
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
- - !ruby/object:Gem::Dependency
42
- name: tty-spinner
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '0.9'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '0.9'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: puppet_forge
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -153,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
139
  - !ruby/object:Gem::Version
154
140
  version: '0'
155
141
  requirements: []
156
- rubygems_version: 3.4.6
142
+ rubygems_version: 3.4.10
157
143
  signing_key:
158
144
  specification_version: 4
159
145
  summary: Write a short summary, because RubyGems requires one.