3
3
require_relative "../spec_helper"
4
4
5
5
module SyntaxSuggest
6
+ ruby = ENV . fetch ( "RUBY" , "ruby" )
6
7
RSpec . describe "Requires with ruby cli" do
7
8
it "namespaces all monkeypatched methods" do
8
9
Dir . mktmpdir do |dir |
@@ -16,9 +17,9 @@ module SyntaxSuggest
16
17
api_only_methods_file = tmpdir . join ( "api_only_methods.txt" )
17
18
kernel_methods_file = tmpdir . join ( "kernel_methods.txt" )
18
19
19
- d_pid = Process . spawn ( "ruby -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1 > #{ syntax_suggest_methods_file } " )
20
- k_pid = Process . spawn ( "ruby #{ script } 2>&1 >> #{ kernel_methods_file } " )
21
- r_pid = Process . spawn ( "ruby -I#{ lib_dir } -rsyntax_suggest/api #{ script } 2>&1 > #{ api_only_methods_file } " )
20
+ d_pid = Process . spawn ( "#{ ruby } -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1 > #{ syntax_suggest_methods_file } " )
21
+ k_pid = Process . spawn ( "#{ ruby } #{ script } 2>&1 >> #{ kernel_methods_file } " )
22
+ r_pid = Process . spawn ( "#{ ruby } -I#{ lib_dir } -rsyntax_suggest/api #{ script } 2>&1 > #{ api_only_methods_file } " )
22
23
23
24
Process . wait ( k_pid )
24
25
Process . wait ( d_pid )
@@ -69,7 +70,7 @@ module SyntaxSuggest
69
70
load "#{ script . expand_path } "
70
71
EOM
71
72
72
- out = `ruby -I#{ lib_dir } -rsyntax_suggest #{ require_rb } 2>&1`
73
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest #{ require_rb } 2>&1`
73
74
74
75
expect ( $?. success? ) . to be_falsey
75
76
expect ( out ) . to include ( '> 5 it "flerg"' ) . once
@@ -80,7 +81,7 @@ module SyntaxSuggest
80
81
skip if ruby_core?
81
82
skip if Gem ::Version . new ( RUBY_VERSION ) < Gem ::Version . new ( "3.2" )
82
83
83
- out = `ruby -I#{ lib_dir } -rsyntax_suggest -e "puts SyntaxError.instance_method(:detailed_message).source_location" 2>&1`
84
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest -e "puts SyntaxError.instance_method(:detailed_message).source_location" 2>&1`
84
85
85
86
expect ( $?. success? ) . to be_truthy
86
87
expect ( out ) . to include ( lib_dir . join ( "syntax_suggest" ) . join ( "core_ext.rb" ) . to_s ) . once
@@ -106,7 +107,7 @@ module SyntaxSuggest
106
107
end
107
108
EOM
108
109
109
- out = `ruby -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1`
110
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1`
110
111
111
112
expect ( $?. success? ) . to be_falsey
112
113
expect ( out ) . to include ( '> 5 it "flerg"' ) . once
@@ -133,7 +134,7 @@ class Dog
133
134
load "#{ script . expand_path } "
134
135
EOM
135
136
136
- out = `ruby -I#{ lib_dir } -rsyntax_suggest #{ require_rb } 2>&1`
137
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest #{ require_rb } 2>&1`
137
138
138
139
expect ( $?. success? ) . to be_truthy
139
140
expect ( out ) . to include ( "SyntaxSuggest is NOT loaded" ) . once
@@ -149,7 +150,7 @@ class Dog
149
150
eval("def lol")
150
151
EOM
151
152
152
- out = `ruby -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1`
153
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest #{ script } 2>&1`
153
154
154
155
expect ( $?. success? ) . to be_falsey
155
156
expect ( out ) . to include ( "(eval):1" )
@@ -167,7 +168,7 @@ class Dog
167
168
break
168
169
EOM
169
170
170
- out = `ruby -I#{ lib_dir } -rsyntax_suggest -e "require_relative '#{ script } '" 2>&1`
171
+ out = `#{ ruby } -I#{ lib_dir } -rsyntax_suggest -e "require_relative '#{ script } '" 2>&1`
171
172
172
173
expect ( $?. success? ) . to be_falsey
173
174
expect ( out . downcase ) . to_not include ( "syntax ok" )
0 commit comments