Mercurial > hg
view tests/test-diff-ignore-whitespace @ 9116:f90bbf1ea09f
inotify: fix issue1375, add a test.
The biggest problem was the data structure, which did not allow changing
a file into a directory or vice versa. This problem is fixed by b55d44719b47.
The walk() method also had an issue in this case:
- we know 'path' as a directory. inotify server sleeps.
- 'path' is deleted
- 'path' is recreated as a file
- the server catches up here, and see the deletion. it instantiates a scan(),
which in its turn calls for walk(repo, path).
- walk() then assumes that 'path' is a directory and calls os.listdir on it,
which raises an OSError(errno.ENOTDIR)
Catch the error, and yield the file instead of the directory contents.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 13 Jul 2009 16:49:05 +0200 |
parents | 6c82beaaa11a |
children |
line wrap: on
line source
#!/bin/sh # GNU diff is the reference for all of these results. hgdiff() { echo hg diff $@ hg diff --nodates "$@" } test_added_blank_lines() { printf '\nhello world\n\ngoodbye world\n\n' >foo echo '>>> two diffs showing three added lines <<<' hgdiff hgdiff -b echo '>>> no diffs <<<' hgdiff -B hgdiff -Bb } test_added_horizontal_space_first_on_a_line() { printf '\t hello world\ngoodbye world\n' >foo echo '>>> four diffs showing added space first on the first line <<<' hgdiff hgdiff -b hgdiff -B hgdiff -Bb } test_added_horizontal_space_last_on_a_line() { printf 'hello world\t \ngoodbye world\n' >foo echo '>>> two diffs showing space appended to the first line <<<' hgdiff hgdiff -B echo '>>> no diffs <<<' hgdiff -b hgdiff -Bb } test_added_horizontal_space_in_the_middle_of_a_word() { printf 'hello world\ngood bye world\n' >foo echo '>>> four diffs showing space inserted into "goodbye" <<<' hgdiff hgdiff -B hgdiff -b hgdiff -Bb } test_increased_horizontal_whitespace_amount() { printf 'hello world\ngoodbye\t\t \tworld\n' >foo echo '>>> two diffs showing changed whitespace amount in the last line <<<' hgdiff hgdiff -B echo '>>> no diffs <<<' hgdiff -b hgdiff -Bb } test_added_blank_line_with_horizontal_whitespace() { printf 'hello world\n \t\ngoodbye world\n' >foo echo '>>> four diffs showing added blank line w/horizontal space <<<' hgdiff hgdiff -B hgdiff -b hgdiff -Bb } test_added_blank_line_with_other_whitespace() { printf 'hello world\n \t\ngoodbye world \n' >foo echo '>>> three diffs showing added blank line w/other space <<<' hgdiff hgdiff -B hgdiff -b hgdiff -Bb } test_whitespace_changes() { printf 'helloworld\ngoodbye\tworld \n' >foo echo '>>> four diffs showing changed whitespace <<<' hgdiff hgdiff -B hgdiff -b hgdiff -Bb hgdiff -w } test_whitespace_changes_and_blank_lines() { printf 'helloworld\n\n\n\ngoodbye\tworld \n' >foo echo '>>> five diffs showing changed whitespace <<<' hgdiff hgdiff -B hgdiff -b hgdiff -Bb hgdiff -w hgdiff -wB } hg init printf 'hello world\ngoodbye world\n' >foo hg ci -Amfoo -ufoo test_added_blank_lines test_added_horizontal_space_first_on_a_line test_added_horizontal_space_last_on_a_line test_added_horizontal_space_in_the_middle_of_a_word test_increased_horizontal_whitespace_amount test_added_blank_line_with_horizontal_whitespace test_added_blank_line_with_other_whitespace test_whitespace_changes test_whitespace_changes_and_blank_lines