--- a/tests/test-chg.t Sat Nov 10 19:00:17 2018 +0900
+++ b/tests/test-chg.t Sat Nov 10 19:09:37 2018 +0900
@@ -1,7 +1,19 @@
#require chg
+ $ cat <<EOF >> $HGRCPATH
+ > [cmdserver]
+ > log = $TESTTMP/server.log
+ > EOF
$ cp $HGRCPATH $HGRCPATH.orig
+ $ filterlog () {
+ > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!' \
+ > -e 's!\(setprocname\|received fds\|setenv\): .*!\1: ...!' \
+ > -e 's!\(confighash\|mtimehash\) = [0-9a-f]*!\1 = ...!g' \
+ > -e 's!\(pid\)=[0-9]*!\1=...!g' \
+ > -e 's!\(/server-\)[0-9a-f]*!\1...!g'
+ > }
+
init repo
$ chg init foo
@@ -201,5 +213,200 @@
shut down servers and restore environment:
$ rm -R chgsock
+ $ sleep 2
$ CHGSOCKNAME=$OLDCHGSOCKNAME
$ cd ..
+
+check that server events are recorded:
+
+ $ cat server.log | filterlog
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: ['unlink $TESTTMP/extreload/chgsock/server-...', 'reconnect']
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
+ YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
+ YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
+ YYYY/MM/DD HH:MM:SS (PID)> setumask 18
+ YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
+ YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
+ YYYY/MM/DD HH:MM:SS (PID)> validate: []