io.monitors: change tests to not use unique because it only ever used temp-file.
parent
7c2e8d0fad
commit
f5b31a85c0
basis/io/monitors
|
@ -1,85 +1,81 @@
|
|||
USING: accessors calendar concurrency.count-downs
|
||||
concurrency.promises continuations destructors io io.directories
|
||||
io.directories.hierarchy io.files io.files.temp io.files.unique
|
||||
io.monitors io.pathnames io.timeouts kernel namespaces sequences
|
||||
system threads tools.test ;
|
||||
io.directories.hierarchy io.files io.files.temp io.monitors
|
||||
io.pathnames io.timeouts kernel namespaces sequences system
|
||||
threads tools.test ;
|
||||
IN: io.monitors.tests
|
||||
|
||||
os { windows linux macosx } member? [
|
||||
[
|
||||
[
|
||||
[ "monitor-test" temp-file delete-tree ] ignore-errors
|
||||
[ "monitor-test" temp-file delete-tree ] ignore-errors
|
||||
|
||||
[ ] [ "monitor-test" temp-file make-directory ] unit-test
|
||||
[ ] [ "monitor-test" temp-file make-directory ] unit-test
|
||||
|
||||
[ ] [ "monitor-test" temp-file t <monitor> "m" set ] unit-test
|
||||
[ ] [ "monitor-test" temp-file t <monitor> "m" set ] unit-test
|
||||
|
||||
[ ] [ "monitor-test/a1" temp-file make-directory ] unit-test
|
||||
[ ] [ "monitor-test/a1" temp-file make-directory ] unit-test
|
||||
|
||||
[ ] [ "monitor-test/a2" temp-file make-directory ] unit-test
|
||||
[ ] [ "monitor-test/a2" temp-file make-directory ] unit-test
|
||||
|
||||
[ ] [ "monitor-test/a1" temp-file "monitor-test/a2" temp-file move-file-into ] unit-test
|
||||
[ ] [ "monitor-test/a1" temp-file "monitor-test/a2" temp-file move-file-into ] unit-test
|
||||
|
||||
[ t ] [ "monitor-test/a2/a1" temp-file exists? ] unit-test
|
||||
[ t ] [ "monitor-test/a2/a1" temp-file exists? ] unit-test
|
||||
|
||||
[ ] [ "monitor-test/a2/a1/a3.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a3.txt" temp-file touch-file ] unit-test
|
||||
|
||||
[ t ] [ "monitor-test/a2/a1/a3.txt" temp-file exists? ] unit-test
|
||||
[ t ] [ "monitor-test/a2/a1/a3.txt" temp-file exists? ] unit-test
|
||||
|
||||
[ ] [ "monitor-test/a2/a1/a4.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a5.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a4.txt" temp-file delete-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a5.txt" temp-file "monitor-test/a2/a1/a4.txt" temp-file move-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a4.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a5.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a4.txt" temp-file delete-file ] unit-test
|
||||
[ ] [ "monitor-test/a2/a1/a5.txt" temp-file "monitor-test/a2/a1/a4.txt" temp-file move-file ] unit-test
|
||||
|
||||
[ t ] [ "monitor-test/a2/a1/a4.txt" temp-file exists? ] unit-test
|
||||
[ t ] [ "monitor-test/a2/a1/a4.txt" temp-file exists? ] unit-test
|
||||
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-unique-directory delete-tree
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-monitors
|
||||
|
||||
[
|
||||
[
|
||||
[ "monitor-test" temp-file delete-tree ] ignore-errors
|
||||
[ ] [ "monitor-test/xyz" temp-file make-directories ] unit-test
|
||||
[ ] [ "monitor-test" temp-file t <monitor> "m" set ] unit-test
|
||||
[ "monitor-test" temp-file delete-tree ] ignore-errors
|
||||
[ ] [ "monitor-test/xyz" temp-file make-directories ] unit-test
|
||||
[ ] [ "monitor-test" temp-file t <monitor> "m" set ] unit-test
|
||||
|
||||
[ ] [ 1 <count-down> "b" set ] unit-test
|
||||
[ ] [ 1 <count-down> "c1" set ] unit-test
|
||||
[ ] [ 1 <count-down> "c2" set ] unit-test
|
||||
[ ] [
|
||||
[
|
||||
"b" get count-down
|
||||
|
||||
[ ] [ 1 <count-down> "b" set ] unit-test
|
||||
[ ] [ 1 <count-down> "c1" set ] unit-test
|
||||
[ ] [ 1 <count-down> "c2" set ] unit-test
|
||||
[ ] [
|
||||
[
|
||||
"b" get count-down
|
||||
"m" get next-change path>>
|
||||
dup print flush
|
||||
dup parent-directory
|
||||
[ trim-tail-separators "xyz" tail? ] either? not
|
||||
] loop
|
||||
|
||||
[
|
||||
"m" get next-change path>>
|
||||
dup print flush
|
||||
dup parent-directory
|
||||
[ trim-tail-separators "xyz" tail? ] either? not
|
||||
] loop
|
||||
"c1" get count-down
|
||||
[
|
||||
"m" get next-change path>>
|
||||
dup print flush
|
||||
dup parent-directory
|
||||
[ trim-tail-separators "yxy" tail? ] either? not
|
||||
] loop
|
||||
|
||||
"c1" get count-down
|
||||
[
|
||||
"m" get next-change path>>
|
||||
dup print flush
|
||||
dup parent-directory
|
||||
[ trim-tail-separators "yxy" tail? ] either? not
|
||||
] loop
|
||||
"c2" get count-down
|
||||
] "Monitor test thread" spawn drop
|
||||
] unit-test
|
||||
|
||||
"c2" get count-down
|
||||
] "Monitor test thread" spawn drop
|
||||
] unit-test
|
||||
[ ] [ "b" get await ] unit-test
|
||||
[ ] [ "monitor-test/xyz/test.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "c1" get 1 minutes await-timeout ] unit-test
|
||||
[ ] [ "monitor-test/subdir/blah/yxy" temp-file make-directories ] unit-test
|
||||
[ ] [ "monitor-test/subdir/blah/yxy/test.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "c2" get 1 minutes await-timeout ] unit-test
|
||||
|
||||
[ ] [ "b" get await ] unit-test
|
||||
[ ] [ "monitor-test/xyz/test.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "c1" get 1 minutes await-timeout ] unit-test
|
||||
[ ] [ "monitor-test/subdir/blah/yxy" temp-file make-directories ] unit-test
|
||||
[ ] [ "monitor-test/subdir/blah/yxy/test.txt" temp-file touch-file ] unit-test
|
||||
[ ] [ "c2" get 1 minutes await-timeout ] unit-test
|
||||
|
||||
! Dispose twice
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-unique-directory delete-tree
|
||||
! Dispose twice
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-monitors
|
||||
|
||||
! Out-of-scope disposal should not fail
|
||||
|
@ -88,41 +84,37 @@ os { windows linux macosx } member? [
|
|||
|
||||
! Timeouts
|
||||
[
|
||||
[
|
||||
[ ] [ "monitor-timeout-test" temp-file make-directories ] unit-test
|
||||
[ ] [ "monitor-timeout-test" temp-file make-directories ] unit-test
|
||||
|
||||
! Non-recursive
|
||||
[ ] [ "monitor-timeout-test" temp-file f <monitor> "m" set ] unit-test
|
||||
[ ] [ 100 milliseconds "m" get set-timeout ] unit-test
|
||||
[ [ t ] [ "m" get next-change drop ] while ] must-fail
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
! Non-recursive
|
||||
[ ] [ "monitor-timeout-test" temp-file f <monitor> "m" set ] unit-test
|
||||
[ ] [ 100 milliseconds "m" get set-timeout ] unit-test
|
||||
[ [ t ] [ "m" get next-change drop ] while ] must-fail
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
|
||||
! Recursive
|
||||
[ ] [ "monitor-timeout-test" temp-file t <monitor> "m" set ] unit-test
|
||||
[ ] [ 100 milliseconds "m" get set-timeout ] unit-test
|
||||
[ [ t ] [ "m" get next-change drop ] while ] must-fail
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-unique-directory delete-tree
|
||||
! Recursive
|
||||
[ ] [ "monitor-timeout-test" temp-file t <monitor> "m" set ] unit-test
|
||||
[ ] [ 100 milliseconds "m" get set-timeout ] unit-test
|
||||
[ [ t ] [ "m" get next-change drop ] while ] must-fail
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
] with-monitors
|
||||
|
||||
! Disposing a monitor should throw an error in any threads
|
||||
! waiting on notifications
|
||||
[
|
||||
[ ] [
|
||||
<promise> "p" set
|
||||
"monitor-test" temp-file t <monitor> "m" set
|
||||
10 seconds "m" get set-timeout
|
||||
] unit-test
|
||||
|
||||
[
|
||||
[ ] [
|
||||
<promise> "p" set
|
||||
"monitor-test" temp-file t <monitor> "m" set
|
||||
10 seconds "m" get set-timeout
|
||||
] unit-test
|
||||
[ "m" get next-change ] [ ] recover
|
||||
"p" get fulfill
|
||||
] in-thread
|
||||
|
||||
[
|
||||
[ "m" get next-change ] [ ] recover
|
||||
"p" get fulfill
|
||||
] in-thread
|
||||
|
||||
[ ] [ 100 milliseconds sleep ] unit-test
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
[ t ] [ "p" get 10 seconds ?promise-timeout already-disposed? ] unit-test
|
||||
] with-unique-directory delete-tree
|
||||
[ ] [ 100 milliseconds sleep ] unit-test
|
||||
[ ] [ "m" get dispose ] unit-test
|
||||
[ t ] [ "p" get 10 seconds ?promise-timeout already-disposed? ] unit-test
|
||||
] with-monitors
|
||||
] when
|
||||
|
|
Loading…
Reference in New Issue