@@ -103,46 +103,55 @@ impl Local for IoFactoryObject {
103
103
104
104
#[ cfg( test) ]
105
105
mod test {
106
+ use unstable:: run_in_bare_thread;
106
107
use rt:: test:: * ;
107
108
use rt:: sched:: Scheduler ;
108
109
use super :: * ;
109
110
110
111
#[ test]
111
112
fn thread_local_scheduler_smoke_test ( ) {
112
- let scheduler = ~new_test_uv_sched ( ) ;
113
- Local :: put ( scheduler) ;
114
- let _scheduler: ~Scheduler = Local :: take ( ) ;
113
+ do run_in_bare_thread {
114
+ let scheduler = ~new_test_uv_sched( ) ;
115
+ Local :: put ( scheduler) ;
116
+ let _scheduler: ~Scheduler = Local :: take ( ) ;
117
+ }
115
118
}
116
119
117
120
#[ test]
118
121
fn thread_local_scheduler_two_instances ( ) {
119
- let scheduler = ~new_test_uv_sched ( ) ;
120
- Local :: put ( scheduler) ;
121
- let _scheduler: ~Scheduler = Local :: take ( ) ;
122
- let scheduler = ~new_test_uv_sched ( ) ;
123
- Local :: put ( scheduler) ;
124
- let _scheduler: ~Scheduler = Local :: take ( ) ;
122
+ do run_in_bare_thread {
123
+ let scheduler = ~new_test_uv_sched( ) ;
124
+ Local :: put ( scheduler) ;
125
+ let _scheduler: ~Scheduler = Local :: take ( ) ;
126
+ let scheduler = ~new_test_uv_sched ( ) ;
127
+ Local :: put ( scheduler) ;
128
+ let _scheduler: ~Scheduler = Local :: take ( ) ;
129
+ }
125
130
}
126
131
127
132
#[ test]
128
133
fn borrow_smoke_test ( ) {
129
- let scheduler = ~new_test_uv_sched ( ) ;
130
- Local :: put ( scheduler) ;
131
- unsafe {
132
- let _scheduler: * mut Scheduler = Local :: unsafe_borrow ( ) ;
134
+ do run_in_bare_thread {
135
+ let scheduler = ~new_test_uv_sched( ) ;
136
+ Local :: put ( scheduler) ;
137
+ unsafe {
138
+ let _scheduler: * mut Scheduler = Local :: unsafe_borrow ( ) ;
139
+ }
140
+ let _scheduler: ~Scheduler = Local :: take ( ) ;
133
141
}
134
- let _scheduler: ~Scheduler = Local :: take ( ) ;
135
142
}
136
143
137
144
#[ test]
138
145
fn borrow_with_return ( ) {
139
- let scheduler = ~new_test_uv_sched ( ) ;
140
- Local :: put ( scheduler) ;
141
- let res = do Local :: borrow :: < Scheduler , bool > |_sched| {
142
- true
143
- } ;
144
- assert ! ( res)
145
- let _scheduler: ~Scheduler = Local :: take ( ) ;
146
+ do run_in_bare_thread {
147
+ let scheduler = ~new_test_uv_sched( ) ;
148
+ Local :: put ( scheduler) ;
149
+ let res = do Local :: borrow :: < Scheduler , bool > |_sched| {
150
+ true
151
+ } ;
152
+ assert ! ( res) ;
153
+ let _scheduler: ~Scheduler = Local :: take ( ) ;
154
+ }
146
155
}
147
156
148
157
}
0 commit comments