7
7
get_time,
8
8
precise_time_ns,
9
9
precise_time_s,
10
+ tzset,
10
11
tm,
11
12
empty_tm,
12
13
now,
@@ -20,6 +21,7 @@ native mod rustrt {
20
21
fn get_time ( & sec: i64 , & nsec: i32 ) ;
21
22
fn precise_time_ns ( & ns: u64 ) ;
22
23
24
+ fn rust_tzset ( ) ;
23
25
// FIXME: The i64 values can be passed by-val when #2064 is fixed.
24
26
fn rust_gmtime ( & & sec: i64 , & & nsec: i32 , & & result: tm ) ;
25
27
fn rust_localtime ( & & sec: i64 , & & nsec: i32 , & & result: tm ) ;
@@ -59,6 +61,10 @@ fn precise_time_s() -> float {
59
61
ret ( precise_time_ns ( ) as float ) / 1000000000. ;
60
62
}
61
63
64
+ fn tzset ( ) {
65
+ rustrt:: rust_tzset ( ) ;
66
+ }
67
+
62
68
type tm = {
63
69
tm_sec : i32 , // seconds after the minute [0-60]
64
70
tm_min : i32 , // minutes after the hour [0-59]
@@ -869,6 +875,7 @@ mod tests {
869
875
#[ test]
870
876
fn test_at_utc ( ) {
871
877
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
878
+ tzset ( ) ;
872
879
873
880
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
874
881
let utc = at_utc ( time) ;
@@ -890,10 +897,13 @@ mod tests {
890
897
#[ test]
891
898
fn test_at ( ) {
892
899
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
900
+ tzset ( ) ;
893
901
894
902
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
895
903
let local = at ( time) ;
896
904
905
+ #error ( "time_at: %?" , local) ;
906
+
897
907
assert local. tm_sec == 30_i32 ;
898
908
assert local. tm_min == 31_i32 ;
899
909
assert local. tm_hour == 15_i32 ;
@@ -916,6 +926,7 @@ mod tests {
916
926
#[ test]
917
927
fn test_to_timespec ( ) {
918
928
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
929
+ tzset ( ) ;
919
930
920
931
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
921
932
let utc = at_utc ( time) ;
@@ -927,6 +938,7 @@ mod tests {
927
938
#[ test]
928
939
fn test_conversions ( ) {
929
940
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
941
+ tzset ( ) ;
930
942
931
943
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
932
944
let utc = at_utc ( time) ;
@@ -943,6 +955,7 @@ mod tests {
943
955
#[ test]
944
956
fn test_strptime ( ) {
945
957
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
958
+ tzset ( ) ;
946
959
947
960
alt strptime( "" , "" ) {
948
961
ok ( tm) {
@@ -1088,18 +1101,22 @@ mod tests {
1088
1101
#[ test]
1089
1102
fn test_ctime ( ) {
1090
1103
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
1104
+ tzset ( ) ;
1091
1105
1092
1106
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
1093
1107
let utc = at_utc ( time) ;
1094
1108
let local = at ( time) ;
1095
1109
1110
+ #error ( "test_ctime: %? %?" , utc. ctime ( ) , local. ctime ( ) ) ;
1111
+
1096
1112
assert utc. ctime ( ) == "Fri Feb 13 23:31:30 2009" ;
1097
1113
assert local. ctime ( ) == "Fri Feb 13 15:31:30 2009" ;
1098
1114
}
1099
1115
1100
1116
#[ test]
1101
1117
fn test_strftime ( ) {
1102
1118
os:: setenv ( "TZ" , "America/Los_Angeles" ) ;
1119
+ tzset ( ) ;
1103
1120
1104
1121
let time = { sec: 1234567890_i64 , nsec: 54321_i32 } ;
1105
1122
let utc = at_utc ( time) ;
0 commit comments