s1 = fail() s2 = on_track( fun(_)-> begin print("TEST PASSED") shutdown() end, blank(duration=1.)) r = ref 0 d = source.dynamic({ if !r==1 then [s1] elsif !r==2 then [s2] else [] end }) output.dummy(mksafe(d)) add_timeout(2.,{r:=1;(-1.)}) add_timeout(3.,{r:=2;(-1.)}) add_timeout(5.,{print("TEST FAILED");shutdown();(-1.)})