rust/tests/pass
bors 2eae474673 Auto merge of #2197 - RalfJung:round-robin, r=RalfJung
make Miri's scheduler proper round-robin

When thread N blocks or yields, we activate thread N+1 next, rather than always activating thread 0. This should guarantee that as long as all threads regularly yield, each thread eventually takes a step again.

Fixes the "multiple loops that yield playing ping-pong" part of https://github.com/rust-lang/miri/issues/1388.
`@cbeuw` I hope this doesn't screw up the scheduler-dependent tests you are adding in your PR.
2022-06-05 18:37:07 +00:00
..
concurrency more spin-loop-tests 2022-06-05 14:36:49 -04:00
function_calls rename test suite directories 2022-06-01 10:53:38 -04:00
panic rename test suite directories 2022-06-01 10:53:38 -04:00
stacked-borrows rename test suite directories 2022-06-01 10:53:38 -04:00
adjacent-allocs.rs rename test suite directories 2022-06-01 10:53:38 -04:00
align_offset_symbolic.rs rename test suite directories 2022-06-01 10:53:38 -04:00
align_offset_symbolic.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
align.rs rename test suite directories 2022-06-01 10:53:38 -04:00
args.rs rename test suite directories 2022-06-01 10:53:38 -04:00
args.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
arrays.rs rename test suite directories 2022-06-01 10:53:38 -04:00
arrays.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
associated-const.rs rename test suite directories 2022-06-01 10:53:38 -04:00
assume_bug.rs rename test suite directories 2022-06-01 10:53:38 -04:00
async-fn.rs rename test suite directories 2022-06-01 10:53:38 -04:00
atomic-compare-exchange-weak-never-fail.rs rename test suite directories 2022-06-01 10:53:38 -04:00
atomic.rs rename test suite directories 2022-06-01 10:53:38 -04:00
available-parallelism.rs rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v0.rs rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v0.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v0.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v1.rs rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v1.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-api-v1.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-global-alloc.rs add test for backtrace with global allocator 2022-06-01 17:32:01 -07:00
backtrace-global-alloc.stderr add test for backtrace with global allocator 2022-06-01 17:32:01 -07:00
backtrace-std.rs rename test suite directories 2022-06-01 10:53:38 -04:00
backtrace-std.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
bad_substs.rs rename test suite directories 2022-06-01 10:53:38 -04:00
binary-heap.rs rename test suite directories 2022-06-01 10:53:38 -04:00
binops.rs rename test suite directories 2022-06-01 10:53:38 -04:00
bools.rs rename test suite directories 2022-06-01 10:53:38 -04:00
box.rs rename test suite directories 2022-06-01 10:53:38 -04:00
box.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
btreemap.rs rename test suite directories 2022-06-01 10:53:38 -04:00
c_enums.rs rename test suite directories 2022-06-01 10:53:38 -04:00
calloc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
calls.rs rename test suite directories 2022-06-01 10:53:38 -04:00
cast_fn_ptr_unsafe.rs rename test suite directories 2022-06-01 10:53:38 -04:00
cast_fn_ptr.rs rename test suite directories 2022-06-01 10:53:38 -04:00
cast-rfc0401-vtable-kinds.rs rename test suite directories 2022-06-01 10:53:38 -04:00
catch.rs rename test suite directories 2022-06-01 10:53:38 -04:00
catch.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
cfg_miri.rs rename test suite directories 2022-06-01 10:53:38 -04:00
char.rs rename test suite directories 2022-06-01 10:53:38 -04:00
closure-drop.rs rename test suite directories 2022-06-01 10:53:38 -04:00
closure-field-ty.rs rename test suite directories 2022-06-01 10:53:38 -04:00
closures.rs rename test suite directories 2022-06-01 10:53:38 -04:00
coerce_non_capture_closure_to_fn_ptr.rs rename test suite directories 2022-06-01 10:53:38 -04:00
coercions.rs rename test suite directories 2022-06-01 10:53:38 -04:00
const-vec-of-fns.rs rename test suite directories 2022-06-01 10:53:38 -04:00
constants.rs rename test suite directories 2022-06-01 10:53:38 -04:00
current_dir_with_isolation.rs rename test suite directories 2022-06-01 10:53:38 -04:00
current_dir_with_isolation.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
current_dir.rs rename test suite directories 2022-06-01 10:53:38 -04:00
deriving-associated-types.rs rename test suite directories 2022-06-01 10:53:38 -04:00
disable-alignment-check.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_empty_slice.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_on_array_elements.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_on_fat_ptr_array_elements.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_on_zst_array_elements.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_through_owned_slice.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_through_trait_object_rc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
drop_through_trait_object.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dst-field-align.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dst-irrefutable-bind.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dst-raw.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dst-struct-sole.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dst-struct.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dyn-arbitrary-self.rs rename test suite directories 2022-06-01 10:53:38 -04:00
dyn-traits.rs rename test suite directories 2022-06-01 10:53:38 -04:00
enum_discriminant_ptr_value.rs rename test suite directories 2022-06-01 10:53:38 -04:00
enum-nullable-const-null-with-fields.rs rename test suite directories 2022-06-01 10:53:38 -04:00
enums.rs rename test suite directories 2022-06-01 10:53:38 -04:00
env-exclude.rs rename test suite directories 2022-06-01 10:53:38 -04:00
env-forward.rs rename test suite directories 2022-06-01 10:53:38 -04:00
env-without-isolation.rs rename test suite directories 2022-06-01 10:53:38 -04:00
env.rs rename test suite directories 2022-06-01 10:53:38 -04:00
env.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
exit.rs rename test suite directories 2022-06-01 10:53:38 -04:00
extern_crate_std_in_main.rs rename test suite directories 2022-06-01 10:53:38 -04:00
extern_types.rs rename test suite directories 2022-06-01 10:53:38 -04:00
fat_ptr.rs rename test suite directories 2022-06-01 10:53:38 -04:00
float_fast_math.rs rename test suite directories 2022-06-01 10:53:38 -04:00
float.rs rename test suite directories 2022-06-01 10:53:38 -04:00
foreign-fn-linkname.rs rename test suite directories 2022-06-01 10:53:38 -04:00
format.rs rename test suite directories 2022-06-01 10:53:38 -04:00
format.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
from_utf8.rs rename test suite directories 2022-06-01 10:53:38 -04:00
fs_with_isolation.rs rename test suite directories 2022-06-01 10:53:38 -04:00
fs_with_isolation.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
fs.rs rename test suite directories 2022-06-01 10:53:38 -04:00
fs.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
fs.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
function_pointers.rs rename test suite directories 2022-06-01 10:53:38 -04:00
generator.rs rename test suite directories 2022-06-01 10:53:38 -04:00
global_allocator.rs rename test suite directories 2022-06-01 10:53:38 -04:00
global_allocator.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
hashmap.rs rename test suite directories 2022-06-01 10:53:38 -04:00
heap_allocator.rs rename test suite directories 2022-06-01 10:53:38 -04:00
heap.rs rename test suite directories 2022-06-01 10:53:38 -04:00
hello.rs rename test suite directories 2022-06-01 10:53:38 -04:00
hello.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
hide_stdout.rs rename test suite directories 2022-06-01 10:53:38 -04:00
integer-ops.rs rename test suite directories 2022-06-01 10:53:38 -04:00
intptrcast.rs rename test suite directories 2022-06-01 10:53:38 -04:00
intrinsics-integer.rs rename test suite directories 2022-06-01 10:53:38 -04:00
intrinsics-math.rs rename test suite directories 2022-06-01 10:53:38 -04:00
intrinsics-x86.rs rename test suite directories 2022-06-01 10:53:38 -04:00
intrinsics.rs rename test suite directories 2022-06-01 10:53:38 -04:00
ints.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-3794.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-3794.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
issue-5917.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-15063.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-15080.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-15523-big.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-17877.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-20575.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-23261.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-26709.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-27901.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-29746.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-30530.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-31267-additional.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-33387.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-34571.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-35815.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-36278-prefix-nesting.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-53728.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-73223.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-91636.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-94371.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-133.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-184.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-1075.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-1925.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-2068-2.rs rename test suite directories 2022-06-01 10:53:38 -04:00
issue-miri-2068.rs rename test suite directories 2022-06-01 10:53:38 -04:00
iter.rs rename test suite directories 2022-06-01 10:53:38 -04:00
last-use-in-cap-clause.rs rename test suite directories 2022-06-01 10:53:38 -04:00
leak-in-static.rs rename test suite directories 2022-06-01 10:53:38 -04:00
libc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
libc.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
linked-list.rs rename test suite directories 2022-06-01 10:53:38 -04:00
linux-getrandom-without-isolation.rs rename test suite directories 2022-06-01 10:53:38 -04:00
linux-getrandom.rs rename test suite directories 2022-06-01 10:53:38 -04:00
loop-break-value.rs rename test suite directories 2022-06-01 10:53:38 -04:00
loops.rs rename test suite directories 2022-06-01 10:53:38 -04:00
main_fn.rs rename test suite directories 2022-06-01 10:53:38 -04:00
main_result.rs rename test suite directories 2022-06-01 10:53:38 -04:00
malloc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
many_shr_bor.rs rename test suite directories 2022-06-01 10:53:38 -04:00
match_slice.rs rename test suite directories 2022-06-01 10:53:38 -04:00
memchr.rs rename test suite directories 2022-06-01 10:53:38 -04:00
memleak_ignored.rs rename test suite directories 2022-06-01 10:53:38 -04:00
move-arg-2-unique.rs rename test suite directories 2022-06-01 10:53:38 -04:00
move-arg-3-unique.rs rename test suite directories 2022-06-01 10:53:38 -04:00
move-uninit-primval.rs rename test suite directories 2022-06-01 10:53:38 -04:00
mpsc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
multi_arg_closure.rs rename test suite directories 2022-06-01 10:53:38 -04:00
negative_discriminant.rs rename test suite directories 2022-06-01 10:53:38 -04:00
observed_local_mut.rs rename test suite directories 2022-06-01 10:53:38 -04:00
option_box_transmute_ptr.rs rename test suite directories 2022-06-01 10:53:38 -04:00
option_eq.rs rename test suite directories 2022-06-01 10:53:38 -04:00
overflow_checks_off.rs rename test suite directories 2022-06-01 10:53:38 -04:00
overloaded-calls-simple.rs rename test suite directories 2022-06-01 10:53:38 -04:00
packed_struct.rs rename test suite directories 2022-06-01 10:53:38 -04:00
partially-uninit.rs rename test suite directories 2022-06-01 10:53:38 -04:00
pointers.rs rename test suite directories 2022-06-01 10:53:38 -04:00
portable-simd.rs rename test suite directories 2022-06-01 10:53:38 -04:00
products.rs rename test suite directories 2022-06-01 10:53:38 -04:00
ptr_int_casts.rs rename test suite directories 2022-06-01 10:53:38 -04:00
ptr_int_permissive_provenance.rs rename test suite directories 2022-06-01 10:53:38 -04:00
ptr_offset.rs rename test suite directories 2022-06-01 10:53:38 -04:00
ptr_raw.rs rename test suite directories 2022-06-01 10:53:38 -04:00
rc.rs rename test suite directories 2022-06-01 10:53:38 -04:00
recursive_static.rs rename test suite directories 2022-06-01 10:53:38 -04:00
reentrant-println.rs rename test suite directories 2022-06-01 10:53:38 -04:00
reentrant-println.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
regions-lifetime-nonfree-late-bound.rs rename test suite directories 2022-06-01 10:53:38 -04:00
regions-mock-trans.rs rename test suite directories 2022-06-01 10:53:38 -04:00
rename_std.rs rename test suite directories 2022-06-01 10:53:38 -04:00
rfc1623.rs rename test suite directories 2022-06-01 10:53:38 -04:00
rust-lang-org.rs rename test suite directories 2022-06-01 10:53:38 -04:00
send-is-not-static-par-for.rs rename test suite directories 2022-06-01 10:53:38 -04:00
sendable-class.rs rename test suite directories 2022-06-01 10:53:38 -04:00
simd-intrinsic-generic-elements.rs rename test suite directories 2022-06-01 10:53:38 -04:00
slices.rs do not use int2ptr casts in strict provenance tests 2022-06-05 11:47:39 -04:00
small_enum_size_bug.rs rename test suite directories 2022-06-01 10:53:38 -04:00
specialization.rs rename test suite directories 2022-06-01 10:53:38 -04:00
start.rs rename test suite directories 2022-06-01 10:53:38 -04:00
start.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
static_memory_modification.rs rename test suite directories 2022-06-01 10:53:38 -04:00
static_mut.rs rename test suite directories 2022-06-01 10:53:38 -04:00
strings.rs rename test suite directories 2022-06-01 10:53:38 -04:00
subslice_array.rs rename test suite directories 2022-06-01 10:53:38 -04:00
sums.rs rename test suite directories 2022-06-01 10:53:38 -04:00
tag-align-dyn-u64.rs rename test suite directories 2022-06-01 10:53:38 -04:00
threadleak_ignored.rs rename test suite directories 2022-06-01 10:53:38 -04:00
threadleak_ignored.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
time.rs rename test suite directories 2022-06-01 10:53:38 -04:00
too-large-primval-write-problem.rs rename test suite directories 2022-06-01 10:53:38 -04:00
track-alloc-1.rs rename test suite directories 2022-06-01 10:53:38 -04:00
track-alloc-1.stderr rename test suite directories 2022-06-01 10:53:38 -04:00
track-caller-attribute.rs rename test suite directories 2022-06-01 10:53:38 -04:00
transmute_fat.rs rename test suite directories 2022-06-01 10:53:38 -04:00
trivial.rs rename test suite directories 2022-06-01 10:53:38 -04:00
try-operator-custom.rs rename test suite directories 2022-06-01 10:53:38 -04:00
tuple_like_enum_variant_constructor_pointer_opt.rs rename test suite directories 2022-06-01 10:53:38 -04:00
tuple_like_enum_variant_constructor_struct_pointer_opt.rs rename test suite directories 2022-06-01 10:53:38 -04:00
tuple_like_enum_variant_constructor.rs rename test suite directories 2022-06-01 10:53:38 -04:00
tuple_like_struct_constructor.rs rename test suite directories 2022-06-01 10:53:38 -04:00
u128.rs rename test suite directories 2022-06-01 10:53:38 -04:00
uninit_number_ignored.rs rename test suite directories 2022-06-01 10:53:38 -04:00
union-overwrite.rs rename test suite directories 2022-06-01 10:53:38 -04:00
union.rs rename test suite directories 2022-06-01 10:53:38 -04:00
unops.rs rename test suite directories 2022-06-01 10:53:38 -04:00
unsized-tuple-impls.rs rename test suite directories 2022-06-01 10:53:38 -04:00
validation_lifetime_resolution.rs rename test suite directories 2022-06-01 10:53:38 -04:00
vec-matching-fold.rs rename test suite directories 2022-06-01 10:53:38 -04:00
vec.rs rename test suite directories 2022-06-01 10:53:38 -04:00
vecdeque.rs rename test suite directories 2022-06-01 10:53:38 -04:00
vecdeque.stdout rename test suite directories 2022-06-01 10:53:38 -04:00
volatile.rs rename test suite directories 2022-06-01 10:53:38 -04:00
without-validation.rs rename test suite directories 2022-06-01 10:53:38 -04:00
write-bytes.rs rename test suite directories 2022-06-01 10:53:38 -04:00
wtf8.rs rename test suite directories 2022-06-01 10:53:38 -04:00
zst_box.rs rename test suite directories 2022-06-01 10:53:38 -04:00
zst_variant_drop.rs rename test suite directories 2022-06-01 10:53:38 -04:00
zst.rs rename test suite directories 2022-06-01 10:53:38 -04:00