cem_win_spec 0.1.13 → 0.1.14
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/cem_win_spec/test_runner.rb +21 -0
- data/lib/cem_win_spec/version.rb +1 -1
- data/lib/cem_win_spec/win_exec/cmd/base_cmd.rb +20 -3
- data/lib/cem_win_spec.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7d4530fab1780a403202924db23059ee908aee18579749d5309aeda74f73e1ad
|
|
4
|
+
data.tar.gz: a5b9e26782c793d8ccafa9cd95cec199acd2fddc04bb7d8366c637140f020d05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 768194d5fea142be421c43082de2820c79a8d406bee1ce97b4e59a80182078de8fbeb2648a33271f40970d98d14156cc9a9854c6e5ee6b06c066be13f90070df
|
|
7
|
+
data.tar.gz: 40aed8c14cd610c59438f6b97f869f99563fbb38ce7a48cdda33b10041c2d72dafd143253a84ccf94acd6a98af7ddf4f6d6ec521f624462171c7dec9aaa0efa1
|
data/Gemfile.lock
CHANGED
|
@@ -66,6 +66,27 @@ module CemWinSpec
|
|
|
66
66
|
end
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
+
def install_ruby(**opts)
|
|
70
|
+
new_command('Install ruby', **opts) do
|
|
71
|
+
tool_dir = remote_ruby_tool_dir
|
|
72
|
+
choco_ver = remote_choco_ruby_version
|
|
73
|
+
ruby_ver = remote_ruby_version
|
|
74
|
+
next unless tool_dir && choco_ver && ruby_ver
|
|
75
|
+
|
|
76
|
+
remote_run(
|
|
77
|
+
[
|
|
78
|
+
"$rubyBin = '#{tool_dir}\\bin'",
|
|
79
|
+
"$uList = (uru ls 2>&1 | Out-String)",
|
|
80
|
+
"if (-not (Test-Path $rubyBin)) { choco install ruby --version=#{choco_ver} -y --no-progress }",
|
|
81
|
+
"if ($uList -notmatch '#{ruby_ver}') { uru admin add $rubyBin }",
|
|
82
|
+
],
|
|
83
|
+
ruby_cmd: false,
|
|
84
|
+
add_envs: false,
|
|
85
|
+
chdir: false,
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
69
90
|
def setup_ruby(**opts)
|
|
70
91
|
@setup_ruby ||= new_command('Set up ruby', **opts) do
|
|
71
92
|
remote_run(
|
data/lib/cem_win_spec/version.rb
CHANGED
|
@@ -14,9 +14,14 @@ module CemWinSpec
|
|
|
14
14
|
'9' => '405',
|
|
15
15
|
}.freeze
|
|
16
16
|
TOOL_DIR_BY_RUBY_VER = {
|
|
17
|
-
'278' => 'C
|
|
18
|
-
'322' => 'C
|
|
19
|
-
'405' => 'C
|
|
17
|
+
'278' => 'C:\tools\ruby\2.7.8',
|
|
18
|
+
'322' => 'C:\tools\ruby\3.2.2',
|
|
19
|
+
'405' => 'C:\tools\ruby\4.0.5',
|
|
20
|
+
}.freeze
|
|
21
|
+
CHOCO_VERSION_BY_RUBY_VER = {
|
|
22
|
+
'278' => '2.7.8',
|
|
23
|
+
'322' => '3.2.2',
|
|
24
|
+
'405' => '4.0.5',
|
|
20
25
|
}.freeze
|
|
21
26
|
|
|
22
27
|
attr_accessor :working_dir, :env_vars, :puppet_version
|
|
@@ -75,6 +80,18 @@ module CemWinSpec
|
|
|
75
80
|
PUPPET_VER_TO_RUBY_VER[puppet_version.split('.')[0]]
|
|
76
81
|
end
|
|
77
82
|
|
|
83
|
+
def ruby_tool_dir
|
|
84
|
+
return nil unless ruby_version
|
|
85
|
+
|
|
86
|
+
TOOL_DIR_BY_RUBY_VER[ruby_version]
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def choco_ruby_version
|
|
90
|
+
return nil unless ruby_version
|
|
91
|
+
|
|
92
|
+
CHOCO_VERSION_BY_RUBY_VER[ruby_version]
|
|
93
|
+
end
|
|
94
|
+
|
|
78
95
|
# Formats the command to be run
|
|
79
96
|
# @param cmd [String, Array[String]] the command to be run
|
|
80
97
|
# @param ruby_cmd [Boolean] Whether the command is a ruby command and should be ran
|
data/lib/cem_win_spec.rb
CHANGED
|
@@ -51,6 +51,7 @@ module CemWinSpec
|
|
|
51
51
|
sre_out = setup_remote_environment(runner)
|
|
52
52
|
working_dir = sre_out.stdout.chomp
|
|
53
53
|
logger.debug "Working dir: #{working_dir}"
|
|
54
|
+
install_ruby(runner, **options)
|
|
54
55
|
upload_out = upload_module(runner, working_dir)
|
|
55
56
|
module_dir = upload_out.stdout.chomp
|
|
56
57
|
logger.debug "Module dir: #{module_dir}"
|
|
@@ -128,6 +129,12 @@ module CemWinSpec
|
|
|
128
129
|
end
|
|
129
130
|
end
|
|
130
131
|
|
|
132
|
+
def self.install_ruby(runner, **opts)
|
|
133
|
+
validate_output(no_output_strat: :debug) do
|
|
134
|
+
runner.install_ruby(**opts).run
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
131
138
|
def self.setup_remote_ruby(runner, module_dir, **opts)
|
|
132
139
|
validate_output do
|
|
133
140
|
runner.setup_ruby(operation_timeout: 300,
|
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.
|
|
4
|
+
version: 0.1.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Heston Snodgrass
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: winrm
|