File tree Expand file tree Collapse file tree 4 files changed +7
-5
lines changed
src/main/ruby/truffleruby/core Expand file tree Collapse file tree 4 files changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -15,5 +15,4 @@ fails:The $SAFE variable can be manually lowered
15
15
fails:The $SAFE variable is not Proc local
16
16
fails:The $SAFE variable is not lambda local
17
17
fails:The $SAFE variable is global like regular global variables
18
- fails:The $SAFE variable warn when access
19
18
fails:The $SAFE variable warn when set
Original file line number Diff line number Diff line change 1
- slow:The $SAFE variable does not warn when set to 0 and remembers the value
1
+ slow:The $SAFE variable warns when set to 0 and remembers the value
Original file line number Diff line number Diff line change 9
9
require_relative '../ruby/spec_helper'
10
10
11
11
describe "The $SAFE variable" do
12
- it "does not warn when set to 0 and remembers the value" do
13
- ruby_exe ( "$SAFE = 0; puts $SAFE; puts Thread.current.safe_level" , args : "2>&1" ) . should == " 0\n 0\n "
12
+ it "warns when set to 0 and remembers the value" do
13
+ ruby_exe ( "$SAFE = 0; puts $SAFE; puts Thread.current.safe_level" , args : "2>&1" ) . should include ( "warning: $SAFE will become a normal global variable in Ruby 3. 0\n 0\n 0 \n " )
14
14
end
15
15
16
16
it "raises an error when set to 1" do
Original file line number Diff line number Diff line change @@ -371,7 +371,10 @@ def marshal_dump
371
371
372
372
Truffle ::KernelOperations . define_hooked_variable (
373
373
:$SAFE ,
374
- -> { Thread . current . safe_level } ,
374
+ -> {
375
+ warn '$SAFE will become a normal global variable in Ruby 3.0' , uplevel : 1
376
+ Thread . current . safe_level
377
+ } ,
375
378
-> level {
376
379
raise SecurityError , 'Setting $SAFE is no longer supported.' unless level == 0
377
380
}
You can’t perform that action at this time.
0 commit comments