run-tests: start to report test results against TestResult
Previously, our unittest wrapper didn't report results properly. We now
properly report failures.
We had to rename the local variable to prevent "t" from being
overwritten in the local scope.
$ hg init
Issue562: .hgignore requires newline at end:
$ touch foo
$ touch bar
$ touch baz
$ cat > makeignore.py <<EOF
> f = open(".hgignore", "w")
> f.write("ignore\n")
> f.write("foo\n")
> # No EOL here
> f.write("bar")
> f.close()
> EOF
$ python makeignore.py
Should display baz only:
$ hg status
? baz
$ rm foo bar baz .hgignore makeignore.py
$ touch a.o
$ touch a.c
$ touch syntax
$ mkdir dir
$ touch dir/a.o
$ touch dir/b.o
$ touch dir/c.o
$ hg add dir/a.o
$ hg commit -m 0
$ hg add dir/b.o
$ hg status
A dir/b.o
? a.c
? a.o
? dir/c.o
? syntax
$ echo "*.o" > .hgignore
$ hg status
abort: $TESTTMP/.hgignore: invalid pattern (relre): *.o (glob)
[255]
$ echo ".*\.o" > .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? syntax
Check it does not ignore the current directory '.':
$ echo "^\." > .hgignore
$ hg status
A dir/b.o
? a.c
? a.o
? dir/c.o
? syntax
$ echo "glob:**.o" > .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? syntax
$ echo "glob:*.o" > .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? syntax
$ echo "syntax: glob" > .hgignore
$ echo "re:.*\.o" >> .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? syntax
$ echo "syntax: invalid" > .hgignore
$ hg status
$TESTTMP/.hgignore: ignoring invalid syntax 'invalid' (glob)
A dir/b.o
? .hgignore
? a.c
? a.o
? dir/c.o
? syntax
$ echo "syntax: glob" > .hgignore
$ echo "*.o" >> .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? syntax
$ echo "relglob:syntax*" > .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? a.o
? dir/c.o
$ echo "relglob:*" > .hgignore
$ hg status
A dir/b.o
$ cd dir
$ hg status .
A b.o
$ hg debugignore
(?:(?:|.*/)[^/]*(?:/|$))
$ cd ..
Check patterns that match only the directory
$ echo "^dir\$" > .hgignore
$ hg status
A dir/b.o
? .hgignore
? a.c
? a.o
? syntax