tests: fix glob pattern for dynamic timer alignment
The number of space characters varies depending on the number of digits of the
timer, making some tests fail on slow machines in an unintended way:
```diff
--- /build/mercurial-6.1/tests/test-merge-halt.t
+++ /build/mercurial-6.1/tests/test-merge-halt.t.err
@@ -210,6 +210,6 @@
merge halted after failed merge (see hg resolve)
[240]
$ hg shelve --list
- default (* ago) changes to: foo (glob)
+ default (11s ago) changes to: foo
$ hg unshelve --abort
unshelve of 'default' aborted
ERROR: test-merge-halt.t output changed
```
Differential Revision: https://phab.mercurial-scm.org/D12381
Test that the syntax of "unified tests" is properly processed
==============================================================
Simple commands:
$ echo foo
foo
$ printf 'oh no'
oh no (no-eol)
$ printf 'bar\nbaz\n' | cat
bar
baz
Multi-line command:
$ foo() {
> echo bar
> }
$ foo
bar
Return codes before inline python:
$ sh -c 'exit 1'
[1]
Doctest commands:
>>> print('foo')
foo
$ echo interleaved
interleaved
>>> for c in 'xyz':
... print(c)
x
y
z
>>> print()
>>> foo = 'global name'
>>> def func():
... print(foo, 'should be visible in func()')
>>> func()
global name should be visible in func()
>>> print('''multiline
... string''')
multiline
string
Regular expressions:
$ echo foobarbaz
foobar.* (re)
$ echo barbazquux
.*quux.* (re)
Globs:
$ printf '* \\foobarbaz {10}\n'
\* \\fo?bar* {10} (glob)
Literal match ending in " (re)":
$ echo 'foo (re)'
foo (re)
Windows: \r\n is handled like \n and can be escaped:
#if windows
$ printf 'crlf\r\ncr\r\tcrlf\r\ncrlf\r\n'
crlf
cr\r (no-eol) (esc)
\tcrlf (esc)
crlf\r (esc)
#endif
Escapes:
$ "$PYTHON" -c 'from mercurial.utils.procutil import stdout; stdout.write(b"\xff")'
\xff (no-eol) (esc)
Escapes with conditions:
$ "$PYTHON" -c 'from mercurial.utils.procutil import stdout; stdout.write(b"\xff")'
\xff (no-eol) (esc) (true !)
Combining esc with other markups - and handling lines ending with \r instead of \n:
$ printf 'foo/bar\r'
fo?/bar\r (no-eol) (glob) (esc)
#if windows
$ printf 'foo\\bar\r'
foo/bar\r (no-eol) (esc)
#endif
$ printf 'foo/bar\rfoo/bar\r'
foo.bar\r [(]no-eol[)] (re) (esc)
foo.bar\r \(no-eol\) (re)
testing hghave
$ hghave true
$ hghave false
skipped: missing feature: nail clipper
[1]
$ hghave no-true
skipped: system supports yak shaving
[1]
$ hghave no-false
Conditional sections based on hghave:
#if true
$ echo tested
tested
#else
$ echo skipped
#endif
#if false
$ echo skipped
#else
$ echo tested
tested
#endif
#if no-false
$ echo tested
tested
#else
$ echo skipped
#endif
#if no-true
$ echo skipped
#else
$ echo tested
tested
#endif
Exit code:
$ (exit 1)
[1]