39 lines
1.1 KiB
Factor
39 lines
1.1 KiB
Factor
USING: io.directories io.files.links tools.test sequences
|
|
io.files.unique tools.files fry math kernel math.parser
|
|
io.pathnames namespaces ;
|
|
IN: io.files.links.unix.tests
|
|
|
|
: make-test-links ( n path -- )
|
|
[ '[ [ 1+ ] keep [ number>string _ prepend ] bi@ make-link ] each ]
|
|
[ [ number>string ] dip prepend touch-file ] 2bi ; inline
|
|
|
|
[ t ] [
|
|
[
|
|
current-temporary-directory get [
|
|
5 "lol" make-test-links
|
|
"lol1" follow-links
|
|
current-temporary-directory get "lol5" append-path =
|
|
] with-directory
|
|
] cleanup-unique-directory
|
|
] unit-test
|
|
|
|
[
|
|
[
|
|
current-temporary-directory get [
|
|
100 "laf" make-test-links "laf1" follow-links
|
|
] with-directory
|
|
] with-unique-directory
|
|
] [ too-many-symlinks? ] must-fail-with
|
|
|
|
[ t ] [
|
|
110 symlink-depth [
|
|
[
|
|
current-temporary-directory get [
|
|
100 "laf" make-test-links
|
|
"laf1" follow-links
|
|
current-temporary-directory get "laf100" append-path =
|
|
] with-directory
|
|
] cleanup-unique-directory
|
|
] with-variable
|
|
] unit-test
|