[ruby-core:81423] [Ruby trunk Bug#13591] spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']

From: Greg.mpls@...
Date: 2017-05-27 18:39:09 UTC
List: ruby-core #81423
Issue #13591 has been updated by MSP-Greg (Greg L).


Usaku,

You are correct.  Linked from the page you mentioned is [_tzset](https://msdn.microsoft.com/en-us/library/90s5c885.aspx).  This (sort of) doc's what ENV['TZ'] can be set to.

From my testing, the strings can be anything.  I called the following with several strings.

```
puts "TZ          DST    SST"
def tz_test(s)
  dst = [2017, 6, 1, 12, 0]  # daylight - June
  sst = [2017, 1, 1, 12, 0]  # standard - January
  ENV['TZ'] = s
  puts "#{s.ljust(10)} #{(Time.new(*dst).utc_offset/3600).to_s.rjust(4)}   #{(Time.new(*sst).utc_offset/3600).to_s.rjust(4)}"
end
```

output below.

```
TZ          DST    SST
hello-foo     1      0
hello+foo     1      0
1,2           0      0
Sun,Fri,2     1      0
12            0      0
-1aaa         1      0

aaa+8        -8     -8
AAA+8        -8     -8
aaa+8bbb     -7     -8
AAAA+8BBBB    1      0

aaa-8         8      8
AAA-8         8      8
aaa-8bbb      9      8
AAAA-8BBBB    1      0
```

A classic case of a function that assumes you have validated the input, and, if not, be prepared for anything.  My opinion, Ruby mingw and mswin builds are fine, the `_tzset` function is expecting validation that ruby can't or shouldn't do.  There's a gem for that...

----------------------------------------
Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
https://bugs.ruby-lang.org/issues/13591#change-65134

* Author: MSP-Greg (Greg L)
* Status: Feedback
* Priority: Normal
* Assignee: Eregon (Benoit Daloze)
* Target version: 
* ruby -v: ruby 2.5.0dev (2017-05-27 trunk 58911) [x64-mswin64_140]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Windows does not support ENV['TZ'], so it should be removed from rspec tests.

See [GitHub PR 1627](https://github.com/ruby/ruby/pull/1627)



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next