- Timestamp:
- 07/07/09 05:37:00 (3 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
-
directory_watcher.erl (modified) (2 diffs)
-
directory_watcher_test.erl (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/directory_watcher.erl
r57 r58 82 82 notify (Pid, Event), 83 83 loop_recursive (Directory, Pid, [Watcher | Watchers]); 84 {?MODULE, Watcher, {directory, _, {error, enoent}}} ->84 {?MODULE, Watcher, {directory, _, {error, _}}} -> 85 85 Watcher ! stop, 86 86 loop_recursive (Directory, Pid, Watchers -- [Watcher]); … … 101 101 compare (Pid, [X | Xs], [X | Ys]) -> 102 102 compare (Pid, Xs, Ys); 103 compare (Pid, [{F, _} | Xs], [{F, _} | Ys]) ->103 compare (Pid, [{F, {regular, _}} | Xs], [{F, {regular, _}} | Ys]) -> 104 104 report_changed (Pid, F), 105 compare (Pid, Xs, Ys); 106 compare (Pid, [{F, _}=X | Xs], [{F, _} | Ys]) -> 107 report_lost (Pid, X), 108 report_found (Pid, F), 105 109 compare (Pid, Xs, Ys); 106 110 compare (Pid, [X, {F, V} | Xs], [{F, W} | Ys]) -> -
trunk/src/directory_watcher_test.erl
r57 r58 13 13 -export ([directories_can_be_removed_when_recursive/0]). 14 14 -export ([change_from_directory_to_file/0]). 15 -export ([change_from_directory_to_file_when_recursive/0]). 16 -export ([change_from_file_to_directory/0]). 17 -export ([change_from_file_to_directory_when_recursive/0]). 15 18 16 19 tests_from_empty () -> … … 46 49 47 50 directories_can_be_removed_when_recursive () -> 48 ok = fixtures: use_tree (tree (), fun directories_can_be_removed_when_recursive/2). 51 F = fun directories_can_be_removed_when_recursive/2, 52 ok = fixtures: use_tree (tree (), F). 49 53 50 54 change_from_directory_to_file () -> … … 52 56 ok = fixtures: use_tree (Tree, fun change_from_directory_to_file/2). 53 57 58 change_from_file_to_directory () -> 59 Tree = [{file, "foo", []}], 60 ok = fixtures: use_tree (Tree, fun change_from_file_to_directory/2). 61 62 change_from_file_to_directory_when_recursive () -> 63 F = fun change_from_file_to_directory_when_recursive/2, 64 ok = fixtures: use_tree ([{file, "foo", "yo"}], F). 65 66 change_from_directory_to_file_when_recursive () -> 67 F = fun change_from_directory_to_file_when_recursive/2, 68 ok = fixtures: use_tree (tree (), F). 69 54 70 tree () -> 55 71 Subsub = {directory, "subsubdir", … … 76 92 receive_all (), 77 93 Subdir = filename: join ([Dir, "subdir", "subsubdir"]), 78 fixtures: delete_tree (Subdir),94 ok = fixtures: delete_tree (Subdir), 79 95 Watcher ! check, 80 96 File = filename: join (Subdir, "subsubfile.sub"), … … 194 210 195 211 change_from_directory_to_file (Root, [{directory, Name, []}]) -> 196 ok. 197 %% Watcher = spawn_link (directory_watcher, init, [Root, self ()]), 198 %% receive_all (), 199 %% Path = filename: join (Root, Name), 200 %% ok = file: del_dir (Path), 201 %% ok = file: write_file (Path, list_to_binary ("hello")), 202 %% Watcher ! check, 203 %% [{directory, "Name", lost} 212 Watcher = spawn_link (directory_watcher, init, [Root, self ()]), 213 receive_all (), 214 Path = filename: join (Root, Name), 215 ok = file: del_dir (Path), 216 ok = file: write_file (Path, list_to_binary ("hello")), 217 Watcher ! check, 218 [{directory, Path, lost}, {{file, ""}, Path, found}] = receive_all (), 219 ok. 220 221 change_from_file_to_directory (Root, [{file, Name, []}]) -> 222 Watcher = spawn_link (directory_watcher, init, [Root, self ()]), 223 receive_all (), 224 Path = filename: join (Root, Name), 225 ok = file: delete (Path), 226 ok = file: make_dir (Path), 227 Watcher ! check, 228 [{{file, ""}, Path, lost}, {directory, Path, found}] = receive_all (), 229 ok. 230 231 change_from_file_to_directory_when_recursive (Root, [{file, Name, _}]) -> 232 Watcher = spawn_link (directory_watcher, init_recursive, [Root, self ()]), 233 receive_all (), 234 Path = filename: join (Root, Name), 235 file: delete (Path), 236 ok = file: make_dir (Path), 237 Watcher ! check, 238 [{{file, ""}, Path, lost}, {directory, Path, found}] = receive_all (), 239 New_file = filename: join (Path, "new.txt"), 240 ok = file: write_file (New_file, list_to_binary ("new")), 241 Watcher ! check, 242 [{{file, ".txt"}, New_file, found}] = receive_all (), 243 ok. 244 245 change_from_directory_to_file_when_recursive (Root, _) -> 246 Watcher = spawn_link (directory_watcher, init_recursive, [Root, self ()]), 247 receive_all (), 248 Subdir = filename: join ([Root, "subdir", "subsubdir"]), 249 ok = fixtures: delete_tree (Subdir), 250 ok = file: write_file (Subdir, list_to_binary ("now a file")), 251 Watcher ! check, 252 [{{file, ".sub"}, _, lost}, 253 {directory, Subdir, lost}, 254 {{file, ""}, Subdir, found}] = receive_all (), 255 ok.
Note: See TracChangeset
for help on using the changeset viewer.
