##// END OF EJS Templates
debug: add a method to check the state of, and built an SSL cert chain...
debug: add a method to check the state of, and built an SSL cert chain This is only useful on Windows, and avoids the need to use Internet Explorer to build the certificate chain. I can see this being extended in the future to print information about the certificate(s) to help debug issues on any platform. Maybe even perform some of the python checks listed on the secure connections wiki page. But for now, all I need is 1) a command that can be invoked in a setup script to ensure the certificate is installed, and 2) a command that the user can run if/when a certificate changes in the future. It would have been nice to leverage the sslutil library to pick up host specific settings, but attempting to use sslutil.wrapsocket() failed the 'not sslsocket.cipher()' check in it and aborted. The output is a little more chatty than some commands, but I've seen the update take 10+ seconds, and this is only a debug command.

File last commit:

r32940:75be1499 default
r33493:9a9f9521 default
Show More
test-win32text.t
426 lines | 8.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-win32text
r12494
$ hg init t
$ cd t
$ cat > unix2dos.py <<EOF
> import sys
>
> for path in sys.argv[1:]:
> data = file(path, 'rb').read()
> data = data.replace('\n', '\r\n')
> file(path, 'wb').write(data)
> EOF
$ echo '[hooks]' >> .hg/hgrc
$ echo 'pretxncommit.crlf = python:hgext.win32text.forbidcrlf' >> .hg/hgrc
$ echo 'pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf' >> .hg/hgrc
$ cat .hg/hgrc
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ echo hello > f
$ hg add f
commit should succeed
$ hg ci -m 1
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ hg clone . ../zoz
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cp .hg/hgrc ../zoz/.hg
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON unix2dos.py f
Matt Mackall
tests: unify test-win32text
r12494
commit should fail
$ hg ci -m 2.1
Martin Geisler
win32text: lowercase warning message
r16932 attempt to commit or push text file(s) using CRLF line endings
Matt Mackall
tests: unify test-win32text
r12494 in f583ea08d42a: f
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
[255]
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ mv .hg/hgrc .hg/hgrc.bak
commits should succeed
$ hg ci -m 2
$ hg cp f g
$ hg ci -m 2.2
push should fail
$ hg push ../zoz
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Martin Geisler
win32text: lowercase warning message
r16932 attempt to commit or push text file(s) using CRLF line endings
Matt Mackall
tests: unify test-win32text
r12494 in bc2d09796734: g
in b1aa5cde7ff4: f
To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
and also consider adding:
[extensions]
win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed
[255]
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ mv .hg/hgrc.bak .hg/hgrc
$ echo hello > f
$ hg rm g
commit should succeed
$ hg ci -m 2.3
push should succeed
$ hg push ../zoz
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files
and now for something completely different
$ mkdir d
$ echo hello > d/f2
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON unix2dos.py d/f2
Matt Mackall
tests: unify test-win32text
r12494 $ hg add d/f2
$ hg ci -m 3
Martin Geisler
win32text: lowercase warning message
r16932 attempt to commit or push text file(s) using CRLF line endings
Matt Mackall
tests: unify test-win32text
r12494 in 053ba1a3035a: d/f2
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
[255]
$ hg revert -a
Mads Kiilerich
tests: add missing '(glob)'s to match '\' in paths in test output on windows
r15520 forgetting d/f2 (glob)
Matt Mackall
tests: unify test-win32text
r12494 $ rm d/f2
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ hg rem f
$ hg ci -m 4
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'file("bin", "wb").write("hello\x00\x0D\x0A")'
Matt Mackall
tests: unify test-win32text
r12494 $ hg add bin
$ hg ci -m 5
$ hg log -v
changeset: 5:f0b1c8d75fce
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:77796dbcd4ad
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:7c1b5430b350
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:bc2d09796734
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
$ hg clone . dupe
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ for x in a b c d; do echo content > dupe/$x; done
$ hg -R dupe add
Mads Kiilerich
tests: add missing '(glob)'s to match '\' in paths in test output on windows
r15520 adding dupe/a (glob)
adding dupe/b (glob)
adding dupe/c (glob)
adding dupe/d (glob)
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON unix2dos.py dupe/b dupe/c dupe/d
Matt Mackall
tests: unify test-win32text
r12494 $ hg -R dupe ci -m a dupe/a
$ hg -R dupe ci -m b/c dupe/[bc]
$ hg -R dupe ci -m d dupe/d
$ hg -R dupe log -v
changeset: 8:67ac5962ab43
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: d
description:
d
changeset: 7:68c127d1834e
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: b c
description:
b/c
changeset: 6:adbf8bf7f31d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: a
description:
a
changeset: 5:f0b1c8d75fce
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:77796dbcd4ad
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:7c1b5430b350
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:bc2d09796734
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
$ hg pull dupe
pulling from dupe
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 4 changes to 4 files
Martin Geisler
win32text: lowercase warning message
r16932 attempt to commit or push text file(s) using CRLF line endings
Matt Mackall
tests: unify test-win32text
r12494 in 67ac5962ab43: d
in 68c127d1834e: b
in 68c127d1834e: c
To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
and also consider adding:
[extensions]
win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed
[255]
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ hg log -v
changeset: 5:f0b1c8d75fce
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:77796dbcd4ad
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:7c1b5430b350
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:bc2d09796734
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
$ rm .hg/hgrc
$ (echo some; echo text) > f3
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'file("f4.bat", "wb").write("rem empty\x0D\x0A")'
Matt Mackall
tests: unify test-win32text
r12494 $ hg add f3 f4.bat
$ hg ci -m 6
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat bin
hello\x00\r (esc)
$ cat f3
some
text
$ cat f4.bat
rem empty\r (esc)
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Matt Mackall
tests: unify test-win32text
r12494 $ echo '[extensions]' >> .hg/hgrc
$ echo 'win32text = ' >> .hg/hgrc
$ echo '[decode]' >> .hg/hgrc
$ echo '** = cleverdecode:' >> .hg/hgrc
$ echo '[encode]' >> .hg/hgrc
$ echo '** = cleverencode:' >> .hg/hgrc
$ cat .hg/hgrc
[extensions]
win32text =
[decode]
** = cleverdecode:
[encode]
** = cleverencode:
Martin Geisler
tests: test/silence win32text deprecation warning
r12843
Trigger deprecation warning:
Mads Kiilerich
test-win32text.t: stabilize test output...
r12853 $ hg id -t
Matt Mackall
urls: bulk-change primary website URLs
r26421 win32text is deprecated: https://mercurial-scm.org/wiki/Win32TextExtension
Mads Kiilerich
test-win32text.t: stabilize test output...
r12853 tip
Martin Geisler
tests: test/silence win32text deprecation warning
r12843
Disable warning:
$ echo '[win32text]' >> .hg/hgrc
$ echo 'warn = no' >> .hg/hgrc
Mads Kiilerich
test-win32text.t: stabilize test output...
r12853 $ hg id -t
tip
Martin Geisler
tests: test/silence win32text deprecation warning
r12843
Matt Mackall
tests: unify test-win32text
r12494 $ rm f3 f4.bat bin
Martin Geisler
test-win32text: use $TESTTMP in output
r12978 $ hg co -C
Matt Mackall
tests: unify test-win32text
r12494 WARNING: f4.bat already has CRLF line endings
and does not need EOL conversion by the win32text plugin.
Before your next commit, please reconsider your encode/decode settings in
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 Mercurial.ini or $TESTTMP/t/.hg/hgrc. (glob)
Matt Mackall
tests: unify test-win32text
r12494 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat bin
hello\x00\r (esc)
$ cat f3
some\r (esc)
text\r (esc)
$ cat f4.bat
rem empty\r (esc)
Mads Kiilerich
tests: cleanup of echo statements left over from test conversion
r15243
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'file("f5.sh", "wb").write("# empty\x0D\x0A")'
Matt Mackall
tests: unify test-win32text
r12494 $ hg add f5.sh
$ hg ci -m 7
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat f5.sh
# empty\r (esc)
$ hg cat f5.sh
# empty
Matt Mackall
tests: unify test-win32text
r12494 $ echo '% just linefeed' > linefeed
$ hg ci -qAm 8 linefeed
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat linefeed
% just linefeed
$ hg cat linefeed
% just linefeed
Matt Mackall
tests: unify test-win32text
r12494 $ hg st -q
$ hg revert -a linefeed
no changes needed to linefeed
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat linefeed
% just linefeed
Matt Mackall
tests: unify test-win32text
r12494 $ hg st -q
$ echo modified >> linefeed
$ hg st -q
M linefeed
$ hg revert -a
reverting linefeed
$ hg st -q
Martin Geisler
test-win32text: use (esc) lines instead of Python script
r12977 $ cat linefeed
% just linefeed\r (esc)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..