New make target check
Just a smoke test so far, extracted from src/scripts/nightly/. This makes the existing smoke test more easily accessible. Noteworthy differences: * Instead of patching the code to make output more stable, postprocess the output to normalize it. * Compare actual results to expected results instead of the previous test run's results. * Much faster. The old test harness used sleep liberally to "ensure" things always happen in the same order. Known shortcomings: * The smoke test hangs when the server fails to complete startup, or fails to terminate. * Normalization of xdump hardcodes columns instead of getting them from xdump meta. * Normalization of time values in xdump is an ugly hack. * xdump meta column type isn't normalized. Actual values can vary between systems, because the width of enumeration types is implementation-defined. The smoke test works only when they're represented as int, which is the case on common systems. * Currently expected to work only with thread package LWP and a random() that behaves exactly like the one on my development system, because: - Thread scheduling is reliably deterministic only with LWP - The PRN sequence produced by random() isn't portable - Shell builtin kill appears not to do the job in MinGW - The Windows server tries to run as service when -d isn't specified Further work is needed to address these shortcomings. Getting C programs behave exactly the same on all systems is hard. We'll likely run into system-dependent differences that upset the smoke test. Floating-point computation seems particularly vulnerable. Instead of updating src/scripts/nightly/ to use "make check", retire it. It hasn't been used in quite a while. Investing more into our homegrown auto-builder doesn't make sense, as canned auto-builders such as Travis CI and Jenkins are readily available. The shell scripts src/scripts/nightly/tests/?? become Empire batch files tests/smoke/. The shell scripts are actually shell boilerplate around Empire batch files. To make sure git recognizes the move, this commit moves them unchanged. tests/smoke-test strips the boilerplate before it feeds the batch files to the client. The next commit will get rid fo that.
This commit is contained in:
parent
2fefdaed15
commit
49b2b13a90
69 changed files with 17579 additions and 827 deletions
23
Make.mk
23
Make.mk
|
@ -27,7 +27,7 @@
|
||||||
# Make.mk: The real Makefile, included by GNUmakefile
|
# Make.mk: The real Makefile, included by GNUmakefile
|
||||||
#
|
#
|
||||||
# Known contributors to this file:
|
# Known contributors to this file:
|
||||||
# Markus Armbruster, 2005-2011
|
# Markus Armbruster, 2005-2012
|
||||||
#
|
#
|
||||||
|
|
||||||
# This makefile was inspired by `Recursive Make Considered Harmful',
|
# This makefile was inspired by `Recursive Make Considered Harmful',
|
||||||
|
@ -131,6 +131,8 @@ ttop := info/TOP.t
|
||||||
info.nr := $(addprefix info.nr/, $(info))
|
info.nr := $(addprefix info.nr/, $(info))
|
||||||
info.html := $(addprefix info.html/, $(addsuffix .html, $(info)))
|
info.html := $(addprefix info.html/, $(addsuffix .html, $(info)))
|
||||||
info.all := $(info.nr) $(info.html) info.ps
|
info.all := $(info.nr) $(info.html) info.ps
|
||||||
|
# Tests
|
||||||
|
# sandbox
|
||||||
|
|
||||||
# Conditionally generated files:
|
# Conditionally generated files:
|
||||||
empth_obj := src/lib/empthread/io.o
|
empth_obj := src/lib/empthread/io.o
|
||||||
|
@ -155,7 +157,7 @@ endif
|
||||||
# Each generated file should be in one of the following sets.
|
# Each generated file should be in one of the following sets.
|
||||||
# Removed by clean:
|
# Removed by clean:
|
||||||
clean := $(obj) $(deps) $(libs) $(util) $(client) $(server) $(tsubj) \
|
clean := $(obj) $(deps) $(libs) $(util) $(client) $(server) $(tsubj) \
|
||||||
$(ttop) $(info.all) $(empth_obj) $(empth_lib)
|
$(ttop) $(info.all) $(empth_obj) $(empth_lib) sandbox
|
||||||
# Removed by distclean:
|
# Removed by distclean:
|
||||||
distclean := $(ac) $(mk)
|
distclean := $(ac) $(mk)
|
||||||
# Distributed by dist-source from $(srcdir):
|
# Distributed by dist-source from $(srcdir):
|
||||||
|
@ -178,6 +180,10 @@ endif
|
||||||
$(client): LDLIBS := $(LIBS_client)
|
$(client): LDLIBS := $(LIBS_client)
|
||||||
$(server): LDLIBS := $(LIBS_server)
|
$(server): LDLIBS := $(LIBS_server)
|
||||||
|
|
||||||
|
# Self-tests
|
||||||
|
checks := check-smoke
|
||||||
|
|
||||||
|
|
||||||
### Advertized goals
|
### Advertized goals
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
@ -189,7 +195,7 @@ html: $(info.html)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(call quiet-command,rm -f $(clean),CLEAN)
|
$(call quiet-command,rm -rf $(clean),CLEAN)
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
|
@ -244,6 +250,17 @@ uninstall:
|
||||||
.PHONY: dist
|
.PHONY: dist
|
||||||
dist: dist-source dist-client dist-info
|
dist: dist-source dist-client dist-info
|
||||||
|
|
||||||
|
.PHONY: check $(checks)
|
||||||
|
check: $(checks)
|
||||||
|
$(checks): all
|
||||||
|
check-smoke:
|
||||||
|
@echo "Warning: smoke test is immature and needs work." >&2
|
||||||
|
ifeq ($(empthread),LWP)
|
||||||
|
$(srcdir)/tests/smoke-test $(srcdir)
|
||||||
|
else
|
||||||
|
@echo "$(srcdir)/tests/smoke-test SKIPPED"
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
### Implicit rules
|
### Implicit rules
|
||||||
|
|
||||||
|
|
2
src/scripts/nightly/.gitignore
vendored
2
src/scripts/nightly/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
||||||
boxes
|
|
||||||
logs
|
|
|
@ -1,32 +0,0 @@
|
||||||
#
|
|
||||||
# Common functions
|
|
||||||
#
|
|
||||||
# Blame it on marcolz
|
|
||||||
#
|
|
||||||
err() {
|
|
||||||
echo "ERROR: $@" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
warn() {
|
|
||||||
echo "WARNING: $@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
trykill() {
|
|
||||||
[ -n "$1" ] || { warn "INTERNAL ERROR: trykill: no argument ?" ; return 2 ; }
|
|
||||||
kill -TERM "$1" || { warn "Could not kill pid '${1}'" ; return 1 ; }
|
|
||||||
sleep 1
|
|
||||||
/bin/kill -KILL "$1" 2>/dev/null && { warn "Process ${1} would not die" ; }
|
|
||||||
sleep 1
|
|
||||||
/bin/kill -KILL "$1" 2>/dev/null && { warn "Process ${1} would not die after -KILL" ; return 1 ; }
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
runfeed() {
|
|
||||||
[ -n "$1" ] || { warn "INTERNAL ERROR: No coun/repr given ?" ; return 2 ; }
|
|
||||||
REP="$2"
|
|
||||||
[ -n "$REP" ] || REP="$1"
|
|
||||||
${EMPIRE_PATH}/empire "$1" "$REP" || { warn "empire not ok ?" ; return 1 ; }
|
|
||||||
return 0
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
SCRIPTDIR=/home/empire
|
|
||||||
BOXDIR=boxes
|
|
||||||
LOGDIR=logs
|
|
||||||
INSTANCE=ubuntu-lwp.i386
|
|
||||||
EMPPORT=8889
|
|
||||||
NIGHTLY_SKIP_STEP=
|
|
||||||
GITROOT=/home/empire/empserver.git
|
|
||||||
export LANG=C
|
|
|
@ -1,9 +0,0 @@
|
||||||
SCRIPTDIR=/home/empire
|
|
||||||
BOXDIR=boxes
|
|
||||||
LOGDIR=logs
|
|
||||||
INSTANCE=ubuntu-pthread.i386
|
|
||||||
EMPPORT=8889
|
|
||||||
NIGHTLY_SKIP_STEP=
|
|
||||||
GITROOT=/home/empire/empserver.git
|
|
||||||
export LANG=C
|
|
||||||
export CONFIGURE_OPTIONS="--with-pthread"
|
|
|
@ -1,10 +0,0 @@
|
||||||
SCRIPTDIR=/home/empire
|
|
||||||
export BOXDIR=boxes
|
|
||||||
LOGDIR=logs
|
|
||||||
export INSTANCE=win32.i386
|
|
||||||
EMPPORT=8889
|
|
||||||
NIGHTLY_SKIP_STEP=
|
|
||||||
GITROOT=ssh://ron-VM3/~empire/empserver.git
|
|
||||||
PATH=$PATH:/c/Progra~1/git/bin
|
|
||||||
export MINGW_DIR="c:/MinGW"
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
cd /home/empire/empserver.git
|
|
||||||
git pull 2>&1 >/dev/null
|
|
||||||
cd /home/empire
|
|
||||||
./nightlybuild.sh ubuntu-lwp.i386.config
|
|
||||||
./report.sh ubuntu-lwp.i386.config | mutt -s 'empserver ubuntu-lwp.i386' empserver-devel@lists.sourceforge.net
|
|
||||||
./nightlybuild.sh ubuntu-pthread.i386.config
|
|
||||||
./report.sh ubuntu-pthread.i386.config | mutt -s 'empserver ubuntu-pthread.i386' empserver-devel@lists.sourceforge.net
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
cd /home/empire
|
|
||||||
./nightlybuild.sh win32.i386.config </dev/null
|
|
||||||
./report.sh win32.i386.config | /c/download/blat250/full/blat.exe -to empserver-devel@lists.sourceforge.net -subject "empserver win32.i386" -p ron
|
|
||||||
:end
|
|
|
@ -1,35 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Check differences between the last two logs
|
|
||||||
#
|
|
||||||
# Blame it on marcolz
|
|
||||||
#
|
|
||||||
|
|
||||||
PROGNAME="$0"
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: ${PROGNAME} <configfile>" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ $# -lt 1 ] && usage
|
|
||||||
|
|
||||||
[ -f "$1" ] || usage
|
|
||||||
|
|
||||||
# Source config file
|
|
||||||
case "$1"
|
|
||||||
in
|
|
||||||
*/*)
|
|
||||||
. "$1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
. ./"$1"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
|
|
||||||
. "${SCRIPTDIR}"/common.sh
|
|
||||||
|
|
||||||
cd "${LOGDIR}" || err "Could not cd to ${LOGDIR}"
|
|
||||||
|
|
||||||
diff -u $(ls "${INSTANCE}."* | tail -2)
|
|
|
@ -1,496 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Blame it on marcolz
|
|
||||||
#
|
|
||||||
# Skip certain parts of this script by exporting the variable
|
|
||||||
# "NIGHTLY_SKIP_STEP" containing the following possible substrings,
|
|
||||||
# preventing the named behaviour:
|
|
||||||
#
|
|
||||||
# REDIRECT - Redirect all output to a logfile
|
|
||||||
# CHECKOUT - Fill the sandbox with a fresh checkout
|
|
||||||
# PATCH - Apply the patches for this system (global + specific)
|
|
||||||
# BUILD - Build everything
|
|
||||||
# GENERATE - Generate a new world
|
|
||||||
# SERVERSTART - Start the server
|
|
||||||
# TESTSCRIPT - Run the testscript
|
|
||||||
# SERVERSTOP - Stop the server if it was started by this script
|
|
||||||
# CLEANUP - Remove the contents of the sandbox
|
|
||||||
# REMOVE_REPOSITORY Removes the git repository when cleaning up
|
|
||||||
#
|
|
||||||
|
|
||||||
PROGNAME="$0"
|
|
||||||
TERM="${TERM:-vt100}"
|
|
||||||
export TERM
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: ${PROGNAME} <configfile>" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ $# -lt 1 ] && usage
|
|
||||||
|
|
||||||
[ -f "$1" ] || usage
|
|
||||||
|
|
||||||
# Source config file
|
|
||||||
case "$1"
|
|
||||||
in
|
|
||||||
*/*)
|
|
||||||
. "$1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
. ./"$1"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
|
|
||||||
. "${SCRIPTDIR}"/common.sh
|
|
||||||
export SCRIPTDIR
|
|
||||||
|
|
||||||
|
|
||||||
STAMP="`date +%Y%m%d%H%M%S`"
|
|
||||||
WORKDIR="${INSTANCE}"
|
|
||||||
[ -n "${EXTRASUFFIX}" ] && WORKDIR="${WORKDIR}.${EXTRASUFFIX}"
|
|
||||||
LOGFILE="${LOGDIR}/${WORKDIR}.${STAMP}"
|
|
||||||
|
|
||||||
#
|
|
||||||
# START REDIRECT
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*REDIRECT*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
# Log everything
|
|
||||||
exec > "${LOGFILE}"
|
|
||||||
exec 2>&1
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END REDIRECT
|
|
||||||
#
|
|
||||||
|
|
||||||
case "${BOXDIR}"
|
|
||||||
in
|
|
||||||
/*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
BOXDIR="${SCRIPTDIR}/${BOXDIR}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
cd "${BOXDIR}" || err "Could not chdir to ${BOXDIR}"
|
|
||||||
|
|
||||||
echo "Nightly build starting at `date`"
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# START CHECKOUT
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*CHECKOUT*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
# Make sandbox
|
|
||||||
if [ -d "${WORKDIR}" ]
|
|
||||||
then
|
|
||||||
[ -d "${WORKDIR}"/empserver/.git ] || err "Invalid sandbox, missing .git directory"
|
|
||||||
else
|
|
||||||
echo making directory
|
|
||||||
mkdir "${WORKDIR}" || warn "Could not create ${BOXDIR}/${WORKDIR}"
|
|
||||||
fi
|
|
||||||
cd "${WORKDIR}" || err "Could not cd to ${BOXDIR}/${WORKDIR}"
|
|
||||||
|
|
||||||
echo "Getting source from GIT:"
|
|
||||||
# Extract source
|
|
||||||
export GITROOT=${GITROOT:= git://git.pond.sub.org/~armbru/empserver}
|
|
||||||
RETR=0
|
|
||||||
if ! [ -d empserver ]
|
|
||||||
then
|
|
||||||
while ! git clone --quiet $GITROOT empserver >/dev/null
|
|
||||||
do
|
|
||||||
sleep "`expr 5 + ${RETR}`"
|
|
||||||
RETR="`expr 1 + ${RETR}`"
|
|
||||||
[ "${RETR}" -gt 5 ] && err "git clone Timeout after ${RETR} retres."
|
|
||||||
done
|
|
||||||
cd empserver || err "Could not cd to ${BOXDIR}/${WORKDIR}/empserver."
|
|
||||||
else
|
|
||||||
cd empserver || err "Could not cd to ${BOXDIR}/${WORKDIR}/empserver."
|
|
||||||
while ! git pull --quiet $GITROOT master >/dev/null
|
|
||||||
do
|
|
||||||
sleep "`expr 5 + ${RETR}`"
|
|
||||||
RETR="`expr 1 + ${RETR}`"
|
|
||||||
[ "${RETR}" -gt 5 ] && err "GIT pull Timeout after ${RETR} retres."
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Commit `git describe --match 'v*' --always`"
|
|
||||||
echo "Done (GIT)."
|
|
||||||
echo ""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END CHECKOUT
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START PATCH
|
|
||||||
#
|
|
||||||
cd "${BOXDIR}/${WORKDIR}/empserver" || err "Could not cd to ${BOXDIR}/${WORKDIR}/empserver"
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*PATCH*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
echo "Applying global patches from ${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/All"
|
|
||||||
for i in "${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/All"/*.patch
|
|
||||||
do
|
|
||||||
[ -r "${i}" ] || continue
|
|
||||||
if git apply "${i}" >/dev/null
|
|
||||||
then
|
|
||||||
echo "${i}: OK"
|
|
||||||
else
|
|
||||||
echo "========== ${i}: NOT OK! ${?} =========="
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Done (patch All)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
LOCALPATCHDIRECTORY="${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/${INSTANCE}"
|
|
||||||
if [ -n "${LOCALPATCHDIRECTORY}" -a -d "${LOCALPATCHDIRECTORY}/." ]
|
|
||||||
then
|
|
||||||
echo "Applying system specific patches from ${LOCALPATCHDIRECTORY}:"
|
|
||||||
for i in "${LOCALPATCHDIRECTORY}"/*.patch
|
|
||||||
do
|
|
||||||
[ -r "${i}" ] || continue
|
|
||||||
if git apply "${i}" >/dev/null
|
|
||||||
then
|
|
||||||
echo "${i}: OK"
|
|
||||||
else
|
|
||||||
echo "========== ${i}: NOT OK! ${?} =========="
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Done (patch specific)."
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
echo "Apply controlled time patch."
|
|
||||||
for f in `git-ls-files | grep -E '\.[ch](\.in)?$' | xargs grep -l \>`
|
|
||||||
do
|
|
||||||
n=`grep -n '^[ ]*#[ ]*include\>' $f | tail -n 1 | sed 's/:.*//'`
|
|
||||||
if [ $n ]
|
|
||||||
then
|
|
||||||
sed "$n"'a\
|
|
||||||
#include "emptime.h"\
|
|
||||||
#undef time\
|
|
||||||
#define time(timer) emp_time((timer), __FUNCTION__)\
|
|
||||||
#undef gettimeofday\
|
|
||||||
#define gettimeofday(tv, tz) emp_gettimeofday((tv), (tz))' $f >$f.patched
|
|
||||||
mv $f.patched $f
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
git add include/emptime.h src/lib/gen/emptime.c
|
|
||||||
echo "Done applying controlled time patch."
|
|
||||||
echo ""
|
|
||||||
git pull --quiet
|
|
||||||
sh ./bootstrap
|
|
||||||
./configure --prefix ${BOXDIR}/${WORKDIR}/emp4 ${CONFIGURE_OPTIONS}
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END PATCH
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START BUILD
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*BUILD*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
|
|
||||||
# Start the build
|
|
||||||
echo "Building server"
|
|
||||||
if make -k install >/dev/null
|
|
||||||
then
|
|
||||||
warn "make did not return 0"
|
|
||||||
fi
|
|
||||||
echo "Done (make)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END BUILD
|
|
||||||
#
|
|
||||||
|
|
||||||
cd "${BOXDIR}/${WORKDIR}" || err "Could not cd to ${BOXDIR}/${WORKDIR}"
|
|
||||||
# Try to run startup utilities
|
|
||||||
for onetime in 1
|
|
||||||
do
|
|
||||||
#
|
|
||||||
# START GENERATE
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*GENERATE*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
if [ -d emp4 -a -d emp4/bin -a -d emp4/sbin -a -d emp4/var/empire ]
|
|
||||||
then
|
|
||||||
echo "Directory structure is ok"
|
|
||||||
else
|
|
||||||
warn "Directory structure is NOT ok"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f emp4/etc/empire/schedule ]
|
|
||||||
then
|
|
||||||
warn "schedule file is missing"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f emp4/etc/empire/econfig ]
|
|
||||||
then
|
|
||||||
warn "econfig file is missing"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! emp4/sbin/pconfig >emp4/etc/empire/econfig
|
|
||||||
then
|
|
||||||
warn "pconfig failed to create econfig file"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
echo "Applying global econfig patches from ${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/All"
|
|
||||||
for i in "${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/All"/*.econfig
|
|
||||||
do
|
|
||||||
[ -r "${i}" ] || continue
|
|
||||||
if "${i}" >>emp4/etc/empire/econfig
|
|
||||||
then
|
|
||||||
echo "${i}: OK"
|
|
||||||
else
|
|
||||||
echo "========== ${i}: NOT OK! ${?} =========="
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Done (econfig patch All)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
LOCALPATCHDIRECTORY="${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/patches/${INSTANCE}"
|
|
||||||
if [ -n "${LOCALPATCHDIRECTORY}" -a -d "${LOCALPATCHDIRECTORY}/." ]
|
|
||||||
then
|
|
||||||
echo "Applying system specific econfig patches from ${LOCALPATCHDIRECTORY}:"
|
|
||||||
for i in "${LOCALPATCHDIRECTORY}"/*.econfig
|
|
||||||
do
|
|
||||||
[ -r "${i}" ] || continue
|
|
||||||
if "${i}" >>emp4/etc/empire/econfig
|
|
||||||
then
|
|
||||||
echo "${i}: OK"
|
|
||||||
else
|
|
||||||
echo "========== ${i}: NOT OK! ${?} =========="
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Done (econfig patch specific)."
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd emp4/bin || err "Could not cd to emp4/bin"
|
|
||||||
|
|
||||||
echo "Determining type of files in bin directory"
|
|
||||||
file *
|
|
||||||
echo "Done (file *)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
cd ../sbin || err "Could not cd to ../sbin"
|
|
||||||
|
|
||||||
echo "Determining type of files in sbin directory"
|
|
||||||
file *
|
|
||||||
echo "Done (file *)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "Running files and fairland"
|
|
||||||
echo y | ./files -e ../etc/empire/econfig || warn "Error running files"
|
|
||||||
./fairland -R 1 -e ../etc/empire/econfig 10 30 >/dev/null || { warn "Error running fairland" ; break ; }
|
|
||||||
[ -s "newcap_script" ] || { warn "fairland did not produce newcap_script" ; break ; }
|
|
||||||
echo "Done (files & fairland)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END GENERATE
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START SERVERSTART
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*SERVERSTART*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
echo "Removing existing server.log and journal.log"
|
|
||||||
if [ -f "../var/empire/server.log" ]
|
|
||||||
then
|
|
||||||
rm "../var/empire/server.log"
|
|
||||||
fi
|
|
||||||
if [ -f "../var/empire/journal.log" ]
|
|
||||||
then
|
|
||||||
rm "../var/empire/journal.log"
|
|
||||||
fi
|
|
||||||
echo "Removing existing schedule"
|
|
||||||
if [ -f "../etc/empire/schedule" ]
|
|
||||||
then
|
|
||||||
>../etc/empire/schedule
|
|
||||||
fi
|
|
||||||
echo "Starting server with -d in the background"
|
|
||||||
./emp_server -R 1 -e ../etc/empire/econfig -d 2>/dev/null &
|
|
||||||
PID="$!"
|
|
||||||
sleep 1
|
|
||||||
kill -0 "${PID}" || { warn "emp_server not running ?" ; break ; }
|
|
||||||
echo "Done (emp_server)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END SERVERSTART
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START GENERATE (2nd part)
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*GENERATE*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
export EMPIRE_PATH=${BOXDIR}/${WORKDIR}/emp4/bin
|
|
||||||
echo "Running newcap_script through empire"
|
|
||||||
runfeed POGO peter < newcap_script >/dev/null 2>&1 ||
|
|
||||||
{
|
|
||||||
warn "Could not run newcap_script"
|
|
||||||
echo "Stopping server"
|
|
||||||
trykill $PID
|
|
||||||
break
|
|
||||||
}
|
|
||||||
echo "Done (newcap_script / empire)."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END GENERATE (2nd part)
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START TESTSCRIPT
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*TESTSCRIPT*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
echo "Applying tests from ${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/tests"
|
|
||||||
cd ${BOXDIR}/${WORKDIR}/empserver/src/scripts/nightly/tests
|
|
||||||
for i in *
|
|
||||||
do
|
|
||||||
[ -d "$i" ] || continue
|
|
||||||
cd "$i"
|
|
||||||
if [ "$i" -ne "00" ]
|
|
||||||
then
|
|
||||||
echo "Update Turn $i starting"
|
|
||||||
if ../update
|
|
||||||
then
|
|
||||||
echo "Update Turn $i completed successfully"
|
|
||||||
else
|
|
||||||
echo "Update Turn $i failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
for j in *
|
|
||||||
do
|
|
||||||
[ -x "$j" ] || continue
|
|
||||||
echo "Player $j Turn $i starting"
|
|
||||||
if ./"$j"
|
|
||||||
then
|
|
||||||
echo "Player $j Turn $i completed successfully"
|
|
||||||
else
|
|
||||||
echo "Player $j Turn $i failed"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
cd ..
|
|
||||||
done
|
|
||||||
echo "Done tests."
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END TESTSCRIPT
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# START SERVERSTOP
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*SERVERSTOP*) ;;
|
|
||||||
*)
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*SERVERSTART*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
echo "Stopping server"
|
|
||||||
trykill "${PID}"
|
|
||||||
echo "Done (kill)."
|
|
||||||
cd "${BOXDIR}/${WORKDIR}/emp4/var/empire" || err "Could not cd to ${BOXDIR}/${WORKDIR}/emp4/var/empire"
|
|
||||||
echo "-- Start Server Log --"
|
|
||||||
cat server.log
|
|
||||||
echo "-- End of Server Log --"
|
|
||||||
echo "-- Start Journal Log --"
|
|
||||||
cat journal.log
|
|
||||||
echo "-- End of Journal Log --"
|
|
||||||
echo "Server stopped"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END SERVERSTOP
|
|
||||||
#
|
|
||||||
done
|
|
||||||
|
|
||||||
#
|
|
||||||
# START CLEANUP
|
|
||||||
#
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*CLEANUP*) ;;
|
|
||||||
*)
|
|
||||||
|
|
||||||
echo "Cleaning sandbox"
|
|
||||||
cd "${BOXDIR}" || err "Could not cd back to sandbox root !"
|
|
||||||
case "${NIGHTLY_SKIP_STEP}"
|
|
||||||
in
|
|
||||||
*REMOVE_REPOSITORY*)
|
|
||||||
rm -rf `find "${WORKDIR}" -maxdepth 1 ! -name .git` || warn "Directory ${WORKDIR} could not be forcibly removed !"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
rm -rf "${WORKDIR}" || warn "Directory ${WORKDIR} could not be forcibly removed !"
|
|
||||||
[ -d "${WORKDIR}/." ] && warn "Directory ${WORKDIR} still present"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
echo "Done (cleaning)."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
# END CLEANUP
|
|
||||||
#
|
|
||||||
|
|
||||||
echo "Nightly build finished at `date`"
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -1,5 +0,0 @@
|
||||||
Nota Bene:
|
|
||||||
|
|
||||||
The patches in these directories are executed in alphabetical order. One
|
|
||||||
patch could influence the other, by patching the same files for
|
|
||||||
instance.
|
|
|
@ -1,115 +0,0 @@
|
||||||
diff --git a/include/emptime.h b/include/emptime.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..3c1eb7b
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/include/emptime.h
|
|
||||||
@@ -0,0 +1,43 @@
|
|
||||||
+/*
|
|
||||||
+ * Empire - A multi-player, client/server Internet based war game.
|
|
||||||
+ * Copyright (C) 1986-2013, Dave Pare, Jeff Bailey, Thomas Ruschak,
|
|
||||||
+ * Ken Stevens, Steve McClure, Markus Armbruster
|
|
||||||
+ *
|
|
||||||
+ * Empire is free software: you can redistribute it and/or modify
|
|
||||||
+ * it under the terms of the GNU General Public License as published by
|
|
||||||
+ * the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+ * (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * This program is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ * GNU General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License
|
|
||||||
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+ *
|
|
||||||
+ * ---
|
|
||||||
+ *
|
|
||||||
+ * See files README, COPYING and CREDITS in the root of the source
|
|
||||||
+ * tree for related information and legal notices. It is expected
|
|
||||||
+ * that future projects/authors will amend these files as needed.
|
|
||||||
+ *
|
|
||||||
+ * ---
|
|
||||||
+ *
|
|
||||||
+ * emptime.h: Time functions for regression testing
|
|
||||||
+ *
|
|
||||||
+ * Known contributors to this file:
|
|
||||||
+ * Ron Koenderink, 2008
|
|
||||||
+ * Markus Armbruster, 2012
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifndef EMPTIME_H
|
|
||||||
+#define EMPTIME_H
|
|
||||||
+
|
|
||||||
+#include <sys/time.h>
|
|
||||||
+#include <time.h>
|
|
||||||
+
|
|
||||||
+extern time_t emp_time(time_t *, const char []);
|
|
||||||
+extern int emp_gettimeofday(struct timeval *, void *);
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
diff --git a/src/lib/gen/emptime.c b/src/lib/gen/emptime.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..4461093
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/lib/gen/emptime.c
|
|
||||||
@@ -0,0 +1,60 @@
|
|
||||||
+/*
|
|
||||||
+ * Empire - A multi-player, client/server Internet based war game.
|
|
||||||
+ * Copyright (C) 1986-2013, Dave Pare, Jeff Bailey, Thomas Ruschak,
|
|
||||||
+ * Ken Stevens, Steve McClure, Markus Armbruster
|
|
||||||
+ *
|
|
||||||
+ * Empire is free software: you can redistribute it and/or modify
|
|
||||||
+ * it under the terms of the GNU General Public License as published by
|
|
||||||
+ * the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+ * (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * This program is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ * GNU General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License
|
|
||||||
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+ *
|
|
||||||
+ * ---
|
|
||||||
+ *
|
|
||||||
+ * See files README, COPYING and CREDITS in the root of the source
|
|
||||||
+ * tree for related information and legal notices. It is expected
|
|
||||||
+ * that future projects/authors will amend these files as needed.
|
|
||||||
+ *
|
|
||||||
+ * ---
|
|
||||||
+ *
|
|
||||||
+ * emptime.c: Time functions for regression testing
|
|
||||||
+ *
|
|
||||||
+ * Known contributors to this file:
|
|
||||||
+ * Ron Koenderink, 2008
|
|
||||||
+ * Markus Armbruster, 2012
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include <stdio.h>
|
|
||||||
+#include <string.h>
|
|
||||||
+#include "emptime.h"
|
|
||||||
+
|
|
||||||
+static time_t now = (time_t)100L;
|
|
||||||
+
|
|
||||||
+time_t
|
|
||||||
+emp_time(time_t * time_ptr, const char function[])
|
|
||||||
+{
|
|
||||||
+ if (strcmp(function, "update_main") == 0)
|
|
||||||
+ now += 100L;
|
|
||||||
+
|
|
||||||
+ if (time_ptr != NULL)
|
|
||||||
+ *time_ptr = now;
|
|
||||||
+
|
|
||||||
+ return now;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+emp_gettimeofday(struct timeval *tv, void *tz)
|
|
||||||
+{
|
|
||||||
+ if (tv) {
|
|
||||||
+ tv->tv_sec = now;
|
|
||||||
+ tv->tv_usec = 0;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
|
@ -1 +0,0 @@
|
||||||
echo keep_journal 1
|
|
|
@ -1,12 +0,0 @@
|
||||||
Index: empserver/src/lib/subs/pr.c
|
|
||||||
--- empserver/src/lib/subs/pr.c 18 Aug 2007 17:03:13 -0000 1.41
|
|
||||||
+++ empserver/src/lib/subs/pr.c 9 Sep 2007 02:42:51 -0000
|
|
||||||
@@ -351,7 +358,7 @@
|
|
||||||
void
|
|
||||||
prprompt(int min, int btu)
|
|
||||||
{
|
|
||||||
- pr_id(player, C_PROMPT, "%d %d\n", min, btu);
|
|
||||||
+ pr_id(player, C_PROMPT, "0 640\n"); /* Hack for nightlybuild */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
|
@ -1 +0,0 @@
|
||||||
#echo pre_update_hook '"echo pre_update_hook executed here"'
|
|
|
@ -1,3 +0,0 @@
|
||||||
echo data "$MINGW_DIR$BOXDIR/$INSTANCE/emp4/var/empire"
|
|
||||||
echo info "$MINGW_DIR$BOXDIR/$INSTANCE/emp4/share/empire/info.nr"
|
|
||||||
echo builtin "$MINGW_DIR$BOXDIR/$INSTANCE/emp4/share/empire/builtin"
|
|
|
@ -1,71 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Generate report from the last two build logs
|
|
||||||
#
|
|
||||||
# Blame it on marcolz
|
|
||||||
#
|
|
||||||
|
|
||||||
INTERPRETER="$_"
|
|
||||||
|
|
||||||
case "$INTERPRETER"
|
|
||||||
in
|
|
||||||
*/ksh|ksh)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ "`uname`" = "SunOS" ]
|
|
||||||
then
|
|
||||||
exec ksh "$0" "$@"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
PROGNAME="$0"
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: ${PROGNAME} <configfile>" >&2;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
[ $# -lt 1 ] && usage
|
|
||||||
|
|
||||||
[ -f "$1" ] || usage
|
|
||||||
|
|
||||||
# Source config file
|
|
||||||
case "$1"
|
|
||||||
in
|
|
||||||
*/*)
|
|
||||||
. "$1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
. ./"$1"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
|
|
||||||
. "${SCRIPTDIR}"/common.sh
|
|
||||||
|
|
||||||
cd "${LOGDIR}" || err "Could not cd to ${LOGDIR}"
|
|
||||||
|
|
||||||
BUILDTYPE="${INSTANCE}"
|
|
||||||
[ -n "${EXTRASUFFIX}" ] && BUILDTYPE="${BUILDTYPE}.${EXTRASUFFIX}"
|
|
||||||
|
|
||||||
echo "This was generated using: ${0} ${1}"
|
|
||||||
echo ""
|
|
||||||
echo "Sections: <diff> <full>"
|
|
||||||
echo ""
|
|
||||||
echo "Environment:"
|
|
||||||
echo "uname -a: $(uname -a)"
|
|
||||||
echo "gcc -v: $(gcc -v 2>&1)"
|
|
||||||
echo ""
|
|
||||||
echo "========================================="
|
|
||||||
echo "===== Differences since last build: ====="
|
|
||||||
echo "========================================="
|
|
||||||
echo ""
|
|
||||||
diff -u `ls "${BUILDTYPE}."* | tail -2`
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo "========================================="
|
|
||||||
echo "================ Full log: =============="
|
|
||||||
echo "========================================="
|
|
||||||
echo ""
|
|
||||||
cat `ls "${BUILDTYPE}."* | tail -1`
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
. "${SCRIPTDIR}"/common.sh
|
|
||||||
runfeed POGO peter << EOF
|
|
||||||
power new
|
|
||||||
report *
|
|
||||||
cen * ?own#0
|
|
||||||
comm * ?own#0
|
|
||||||
reso * ?own#0
|
|
||||||
force
|
|
||||||
EOF
|
|
||||||
sleep 10
|
|
129
tests/normalize.pl
Executable file
129
tests/normalize.pl
Executable file
|
@ -0,0 +1,129 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# TODO Don't hardcode xdump columns, get them from xdump meta
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use Getopt::Std;
|
||||||
|
|
||||||
|
$Getopt::Std::STANDARD_HELP_VERSION = 1;
|
||||||
|
our ($opt_j, $opt_s);
|
||||||
|
getopts('js')
|
||||||
|
or die "$0: invalid options\n";
|
||||||
|
die "$0: either -j or -s, not both\n"
|
||||||
|
if $opt_j && $opt_s;
|
||||||
|
|
||||||
|
my $ctime_re = qr/(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [ 123][0-9] [0-2][0-9]:[0-5][0-9]:[0-6][0-9] [0-9][0-9][0-9][0-9]/;
|
||||||
|
my $xdfld_re = qr/\([^)]*\)|[^ (][^ ]*/;
|
||||||
|
|
||||||
|
# Current dump, if any
|
||||||
|
# Either zero or the name of the dump we're currently processing.
|
||||||
|
# Legacy dump names start with an uppercase letter, and xdump names
|
||||||
|
# start with a lowercase letter.
|
||||||
|
my $dump = "";
|
||||||
|
|
||||||
|
sub norm_ctime {
|
||||||
|
my ($s) = @_;
|
||||||
|
$s =~ s/$ctime_re/Thu Jan 1 00:00:00 1970/g;
|
||||||
|
return $s;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (<>) {
|
||||||
|
chomp;
|
||||||
|
|
||||||
|
my $pfx = '';
|
||||||
|
|
||||||
|
if ($opt_j || $opt_s) {
|
||||||
|
die "$0: malformed line" unless substr($_, 24, 1) eq ' ';
|
||||||
|
$pfx .= norm_ctime(substr($_, 0, 25));
|
||||||
|
$_ = substr($_, 25);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($opt_j) {
|
||||||
|
die "$0: malformed line" unless substr($_, 10, 1) eq ' ';
|
||||||
|
$pfx .= substr($_, 0, 11);
|
||||||
|
$_ = substr($_, 11);
|
||||||
|
if (/(^output [^ ]* 1 )(.*)/) {
|
||||||
|
$pfx .= $1;
|
||||||
|
$_ = $2;
|
||||||
|
} else {
|
||||||
|
$pfx .= $_;
|
||||||
|
$_ = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($opt_s) {
|
||||||
|
$_ = norm_ctime($_);
|
||||||
|
### Host environment in logs
|
||||||
|
# getrusage() results in server.log
|
||||||
|
s/(End update|done assembling paths) .* user .* system/$1 0.0 user 0.0 system/g;
|
||||||
|
# PID in server.log
|
||||||
|
s/(Empire server \(pid) [0-9]+(\) started)/$1 42$2/g;
|
||||||
|
### Harmless races
|
||||||
|
# shutdown wins race with logout
|
||||||
|
next if /Waiting for player threads to terminate/;
|
||||||
|
print "$pfx$_\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dump = ""
|
||||||
|
if ($dump =~ /^[a-z]/
|
||||||
|
and /^\//)
|
||||||
|
or ($dump =~ /^[A-Z]/
|
||||||
|
and (/\: No (sector|ship|plane|unit|nuke)\(s\)|\: Nothing lost/
|
||||||
|
or /^[0-9]+ (sector|ship|plane|unit|nuke|lost item)/));
|
||||||
|
|
||||||
|
### Formatted time
|
||||||
|
# nat_timeused in prompt
|
||||||
|
s/^\[[0-9]+(:[0-9]+\] Command \:)/[0$1/g;
|
||||||
|
# TODO command play column time
|
||||||
|
# result of ctime() in many commands
|
||||||
|
$_ = norm_ctime($_)
|
||||||
|
unless $dump;
|
||||||
|
### Time values in legacy dumps
|
||||||
|
s/(DUMP (SECTOR|SHIPS|PLANES|LAND UNITS|NUKES|LOST ITEMS)) [0-9]+$/$1 0/g;
|
||||||
|
s/ [0-9]+$/ 0/
|
||||||
|
if $dump eq 'LOST ITEMS';
|
||||||
|
### Time values in xdump
|
||||||
|
s/(XDUMP (meta )?[-a-z0-9]+) [0-9]+$/$1 0/
|
||||||
|
unless $dump;
|
||||||
|
# HACK: assume any integer with more than 10 digits is time
|
||||||
|
# TODO don't do that, use xdump meta instead
|
||||||
|
s/(^| )[0-9]{10,}/${1}0/g
|
||||||
|
if $dump =~ /^[a-z]/;
|
||||||
|
# timeused in xdump country (column 9)
|
||||||
|
s/^(($xdfld_re ){9})([0-9]+) /${1}255 /
|
||||||
|
if $dump eq 'country';
|
||||||
|
# timeused in xdump nat (column 14)
|
||||||
|
s/^(($xdfld_re ){14})([0-9]+) /${1}255 /
|
||||||
|
if $dump eq 'nat';
|
||||||
|
# duration in xdump news (column 4)
|
||||||
|
s/^(($xdfld_re ){4})([0-9]+) /${1}0 /
|
||||||
|
if $dump eq 'news';
|
||||||
|
### nsc_type values in xdump
|
||||||
|
# Can vary between systems, because the width of enumeration types
|
||||||
|
# is implementation-defined.
|
||||||
|
# TODO type in xdump meta
|
||||||
|
### nrndx values in xdump
|
||||||
|
# Encoding depends on the host, see resources[]. Too clever by half;
|
||||||
|
# perhaps we should change it.
|
||||||
|
# nrndx in xdump product (column 12)
|
||||||
|
s/^(($xdfld_re ){12})([0-9]+) /${1}0 /
|
||||||
|
if $dump eq 'product';
|
||||||
|
# value in xdump resources (column 0)
|
||||||
|
s/^[0-9]+ /0 /
|
||||||
|
if $dump eq 'resources';
|
||||||
|
### Floating-point zero in xdump
|
||||||
|
# Windows %#g prints it with seven significant digits instead of six
|
||||||
|
s/ 0\.000000/ 0.00000/g
|
||||||
|
if $dump =~ /^[a-z]/;
|
||||||
|
|
||||||
|
print "$pfx$_\n";
|
||||||
|
|
||||||
|
if (/XDUMP (meta )?([-a-z0-9]+)/) {
|
||||||
|
$dump = $2;
|
||||||
|
die unless $dump =~ /^[a-z]/;
|
||||||
|
} elsif (/DUMP (SECTOR|SHIPS|PLANES|LAND UNITS|NUKES|LOST ITEMS) /) {
|
||||||
|
$dump = $1;
|
||||||
|
}
|
||||||
|
}
|
132
tests/smoke-test
Executable file
132
tests/smoke-test
Executable file
|
@ -0,0 +1,132 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
# Smoke test for Empire
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]
|
||||||
|
then echo "Usage: $0 SRCDIR" >&2; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
srcdir="$1"
|
||||||
|
|
||||||
|
export EMPIREHOST=127.0.0.1 LOGNAME=tester
|
||||||
|
|
||||||
|
if [ -x ./config.status ] && ./config.status --version | grep -q '^Wolfpack Empire'
|
||||||
|
then :
|
||||||
|
else echo "$0: Must be run in root of build tree" >&2; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Currently expected to work only with thread package LWP and a
|
||||||
|
# random() that behaves exactly like the one on my development system,
|
||||||
|
# because:
|
||||||
|
#
|
||||||
|
# - Thread scheduling is reliably deterministic only with LWP
|
||||||
|
# - The PRN sequence produced by random() isn't portable
|
||||||
|
# - Shell builtin kill appears not to do the job in MinGW
|
||||||
|
# - The Windows server tries to run as service when -d isn't
|
||||||
|
# specified
|
||||||
|
#
|
||||||
|
# TODO address these shortcomings.
|
||||||
|
#
|
||||||
|
if [ "`uname -s`" != "Linux" ] # lame approx. of "random() behaves like mine"
|
||||||
|
then echo "Warning: smoke test not expected to work on this system!" >&2
|
||||||
|
elif [ `sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile` != LWP ]
|
||||||
|
then echo "Warning: smoke test not expected to work with this thread package!" >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create sandbox
|
||||||
|
rm -rf sandbox
|
||||||
|
mkdir -p sandbox/etc/empire sandbox/share/empire/builtin sandbox/var/empire
|
||||||
|
touch sandbox/etc/empire/schedule
|
||||||
|
cat >sandbox/etc/empire/econfig <<EOF
|
||||||
|
data "../../var/empire"
|
||||||
|
info "../../../../info.nr"
|
||||||
|
builtin "../../share/empire/builtin"
|
||||||
|
listen_addr "$EMPIREHOST"
|
||||||
|
keep_journal 1
|
||||||
|
EOF
|
||||||
|
cp "$srcdir"/src/lib/global/*.config sandbox/share/empire/builtin
|
||||||
|
|
||||||
|
exec 3>sandbox/smoke.out
|
||||||
|
|
||||||
|
pid=
|
||||||
|
trap 'if [ "$pid" ]; then kill "$pid" 2>/dev/null || true; fi' EXIT
|
||||||
|
|
||||||
|
# Create world and start server
|
||||||
|
src/util/files -e sandbox/etc/empire/econfig -f >&3
|
||||||
|
src/util/fairland -e sandbox/etc/empire/econfig -q -s sandbox/newcap_script -R 1 10 30
|
||||||
|
src/server/emp_server -e sandbox/etc/empire/econfig -R 1
|
||||||
|
while src/client/empire red herring 2>&1 | grep -q "Connection refused"
|
||||||
|
do : # FIXME hangs here if server crashes on startup
|
||||||
|
done
|
||||||
|
pid=`cat sandbox/var/empire/server.pid`
|
||||||
|
src/client/empire POGO peter <sandbox/newcap_script >/dev/null
|
||||||
|
|
||||||
|
# Feed player input
|
||||||
|
need_update=
|
||||||
|
for i in "$srcdir"/tests/smoke/[0-9]*
|
||||||
|
do
|
||||||
|
t="${i##*/}"
|
||||||
|
if [ "$need_update" ]
|
||||||
|
then
|
||||||
|
echo "Update Turn $t starting" >&3
|
||||||
|
src/client/empire POGO peter <<EOF >&3
|
||||||
|
power new
|
||||||
|
report *
|
||||||
|
cen * ?own#0
|
||||||
|
comm * ?own#0
|
||||||
|
reso * ?own#0
|
||||||
|
force
|
||||||
|
EOF
|
||||||
|
echo "Update Turn $t completed successfully" >&3
|
||||||
|
fi
|
||||||
|
for j in "$i"/*
|
||||||
|
do
|
||||||
|
p="${j##*/}"
|
||||||
|
echo "Player $p Turn $t starting" >&3
|
||||||
|
if [ $p -eq 0 ]
|
||||||
|
then c=POGO r=peter
|
||||||
|
else c="${p#0}"; r="$c"
|
||||||
|
fi
|
||||||
|
sed '1,3d;$d' <$j | src/client/empire "$c" "$r" >&3
|
||||||
|
echo "Player $p Turn $t completed successfully" >&3
|
||||||
|
done
|
||||||
|
need_update=y
|
||||||
|
done
|
||||||
|
|
||||||
|
# Stop server
|
||||||
|
kill "$pid"
|
||||||
|
while kill -0 "$pid" 2>/dev/null
|
||||||
|
do : # FIXME hangs here if server fails to exit
|
||||||
|
done
|
||||||
|
|
||||||
|
exec 3>&-
|
||||||
|
|
||||||
|
# Smoke test completed; compare results
|
||||||
|
|
||||||
|
cmp_out()
|
||||||
|
{
|
||||||
|
local opt exp act nrm msg ret=0
|
||||||
|
for i
|
||||||
|
do
|
||||||
|
case "$i" in
|
||||||
|
*/journal.log) opt=-j ;;
|
||||||
|
*/server.log) opt=-s ;;
|
||||||
|
*) opt= ;;
|
||||||
|
esac
|
||||||
|
exp="$srcdir/tests/smoke/${i##*/}"
|
||||||
|
act="sandbox/$i"
|
||||||
|
nrm="sandbox/normalized-${i##*/}"
|
||||||
|
perl "$srcdir"/tests/normalize.pl $opt "$act" >"$nrm"
|
||||||
|
if msg=`diff -q "$exp" "$nrm"`
|
||||||
|
then
|
||||||
|
echo "$exp OK"
|
||||||
|
else
|
||||||
|
ret=$?
|
||||||
|
echo "$exp FAIL"
|
||||||
|
echo $msg
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
cmp_out smoke.out var/empire/server.log var/empire/journal.log
|
0
src/scripts/nightly/tests/00/00 → tests/smoke/00/00
Executable file → Normal file
0
src/scripts/nightly/tests/00/00 → tests/smoke/00/00
Executable file → Normal file
0
src/scripts/nightly/tests/00/01 → tests/smoke/00/01
Executable file → Normal file
0
src/scripts/nightly/tests/00/01 → tests/smoke/00/01
Executable file → Normal file
0
src/scripts/nightly/tests/00/02 → tests/smoke/00/02
Executable file → Normal file
0
src/scripts/nightly/tests/00/02 → tests/smoke/00/02
Executable file → Normal file
0
src/scripts/nightly/tests/00/03 → tests/smoke/00/03
Executable file → Normal file
0
src/scripts/nightly/tests/00/03 → tests/smoke/00/03
Executable file → Normal file
0
src/scripts/nightly/tests/00/04 → tests/smoke/00/04
Executable file → Normal file
0
src/scripts/nightly/tests/00/04 → tests/smoke/00/04
Executable file → Normal file
0
src/scripts/nightly/tests/00/05 → tests/smoke/00/05
Executable file → Normal file
0
src/scripts/nightly/tests/00/05 → tests/smoke/00/05
Executable file → Normal file
0
src/scripts/nightly/tests/00/06 → tests/smoke/00/06
Executable file → Normal file
0
src/scripts/nightly/tests/00/06 → tests/smoke/00/06
Executable file → Normal file
0
src/scripts/nightly/tests/00/07 → tests/smoke/00/07
Executable file → Normal file
0
src/scripts/nightly/tests/00/07 → tests/smoke/00/07
Executable file → Normal file
0
src/scripts/nightly/tests/00/08 → tests/smoke/00/08
Executable file → Normal file
0
src/scripts/nightly/tests/00/08 → tests/smoke/00/08
Executable file → Normal file
0
src/scripts/nightly/tests/00/09 → tests/smoke/00/09
Executable file → Normal file
0
src/scripts/nightly/tests/00/09 → tests/smoke/00/09
Executable file → Normal file
0
src/scripts/nightly/tests/00/10 → tests/smoke/00/10
Executable file → Normal file
0
src/scripts/nightly/tests/00/10 → tests/smoke/00/10
Executable file → Normal file
0
src/scripts/nightly/tests/01/01 → tests/smoke/01/01
Executable file → Normal file
0
src/scripts/nightly/tests/01/01 → tests/smoke/01/01
Executable file → Normal file
0
src/scripts/nightly/tests/02/01 → tests/smoke/02/01
Executable file → Normal file
0
src/scripts/nightly/tests/02/01 → tests/smoke/02/01
Executable file → Normal file
0
src/scripts/nightly/tests/03/01 → tests/smoke/03/01
Executable file → Normal file
0
src/scripts/nightly/tests/03/01 → tests/smoke/03/01
Executable file → Normal file
0
src/scripts/nightly/tests/03/08 → tests/smoke/03/08
Executable file → Normal file
0
src/scripts/nightly/tests/03/08 → tests/smoke/03/08
Executable file → Normal file
0
src/scripts/nightly/tests/04/01 → tests/smoke/04/01
Executable file → Normal file
0
src/scripts/nightly/tests/04/01 → tests/smoke/04/01
Executable file → Normal file
0
src/scripts/nightly/tests/04/08 → tests/smoke/04/08
Executable file → Normal file
0
src/scripts/nightly/tests/04/08 → tests/smoke/04/08
Executable file → Normal file
0
src/scripts/nightly/tests/05/01 → tests/smoke/05/01
Executable file → Normal file
0
src/scripts/nightly/tests/05/01 → tests/smoke/05/01
Executable file → Normal file
0
src/scripts/nightly/tests/06/01 → tests/smoke/06/01
Executable file → Normal file
0
src/scripts/nightly/tests/06/01 → tests/smoke/06/01
Executable file → Normal file
0
src/scripts/nightly/tests/06/08 → tests/smoke/06/08
Executable file → Normal file
0
src/scripts/nightly/tests/06/08 → tests/smoke/06/08
Executable file → Normal file
0
src/scripts/nightly/tests/07/01 → tests/smoke/07/01
Executable file → Normal file
0
src/scripts/nightly/tests/07/01 → tests/smoke/07/01
Executable file → Normal file
0
src/scripts/nightly/tests/07/08 → tests/smoke/07/08
Executable file → Normal file
0
src/scripts/nightly/tests/07/08 → tests/smoke/07/08
Executable file → Normal file
0
src/scripts/nightly/tests/08/01 → tests/smoke/08/01
Executable file → Normal file
0
src/scripts/nightly/tests/08/01 → tests/smoke/08/01
Executable file → Normal file
0
src/scripts/nightly/tests/08/08 → tests/smoke/08/08
Executable file → Normal file
0
src/scripts/nightly/tests/08/08 → tests/smoke/08/08
Executable file → Normal file
0
src/scripts/nightly/tests/09/01 → tests/smoke/09/01
Executable file → Normal file
0
src/scripts/nightly/tests/09/01 → tests/smoke/09/01
Executable file → Normal file
0
src/scripts/nightly/tests/09/08 → tests/smoke/09/08
Executable file → Normal file
0
src/scripts/nightly/tests/09/08 → tests/smoke/09/08
Executable file → Normal file
0
src/scripts/nightly/tests/10/01 → tests/smoke/10/01
Executable file → Normal file
0
src/scripts/nightly/tests/10/01 → tests/smoke/10/01
Executable file → Normal file
0
src/scripts/nightly/tests/10/08 → tests/smoke/10/08
Executable file → Normal file
0
src/scripts/nightly/tests/10/08 → tests/smoke/10/08
Executable file → Normal file
0
src/scripts/nightly/tests/11/01 → tests/smoke/11/01
Executable file → Normal file
0
src/scripts/nightly/tests/11/01 → tests/smoke/11/01
Executable file → Normal file
0
src/scripts/nightly/tests/11/08 → tests/smoke/11/08
Executable file → Normal file
0
src/scripts/nightly/tests/11/08 → tests/smoke/11/08
Executable file → Normal file
0
src/scripts/nightly/tests/12/01 → tests/smoke/12/01
Executable file → Normal file
0
src/scripts/nightly/tests/12/01 → tests/smoke/12/01
Executable file → Normal file
0
src/scripts/nightly/tests/12/08 → tests/smoke/12/08
Executable file → Normal file
0
src/scripts/nightly/tests/12/08 → tests/smoke/12/08
Executable file → Normal file
0
src/scripts/nightly/tests/13/01 → tests/smoke/13/01
Executable file → Normal file
0
src/scripts/nightly/tests/13/01 → tests/smoke/13/01
Executable file → Normal file
0
src/scripts/nightly/tests/13/02 → tests/smoke/13/02
Executable file → Normal file
0
src/scripts/nightly/tests/13/02 → tests/smoke/13/02
Executable file → Normal file
0
src/scripts/nightly/tests/13/08 → tests/smoke/13/08
Executable file → Normal file
0
src/scripts/nightly/tests/13/08 → tests/smoke/13/08
Executable file → Normal file
0
src/scripts/nightly/tests/14/01 → tests/smoke/14/01
Executable file → Normal file
0
src/scripts/nightly/tests/14/01 → tests/smoke/14/01
Executable file → Normal file
0
src/scripts/nightly/tests/14/02 → tests/smoke/14/02
Executable file → Normal file
0
src/scripts/nightly/tests/14/02 → tests/smoke/14/02
Executable file → Normal file
0
src/scripts/nightly/tests/14/08 → tests/smoke/14/08
Executable file → Normal file
0
src/scripts/nightly/tests/14/08 → tests/smoke/14/08
Executable file → Normal file
0
src/scripts/nightly/tests/15/01 → tests/smoke/15/01
Executable file → Normal file
0
src/scripts/nightly/tests/15/01 → tests/smoke/15/01
Executable file → Normal file
0
src/scripts/nightly/tests/15/02 → tests/smoke/15/02
Executable file → Normal file
0
src/scripts/nightly/tests/15/02 → tests/smoke/15/02
Executable file → Normal file
0
src/scripts/nightly/tests/15/08 → tests/smoke/15/08
Executable file → Normal file
0
src/scripts/nightly/tests/15/08 → tests/smoke/15/08
Executable file → Normal file
0
src/scripts/nightly/tests/16/01 → tests/smoke/16/01
Executable file → Normal file
0
src/scripts/nightly/tests/16/01 → tests/smoke/16/01
Executable file → Normal file
0
src/scripts/nightly/tests/16/02 → tests/smoke/16/02
Executable file → Normal file
0
src/scripts/nightly/tests/16/02 → tests/smoke/16/02
Executable file → Normal file
0
src/scripts/nightly/tests/16/08 → tests/smoke/16/08
Executable file → Normal file
0
src/scripts/nightly/tests/16/08 → tests/smoke/16/08
Executable file → Normal file
0
src/scripts/nightly/tests/99/00 → tests/smoke/99/00
Executable file → Normal file
0
src/scripts/nightly/tests/99/00 → tests/smoke/99/00
Executable file → Normal file
0
src/scripts/nightly/tests/99/01 → tests/smoke/99/01
Executable file → Normal file
0
src/scripts/nightly/tests/99/01 → tests/smoke/99/01
Executable file → Normal file
2786
tests/smoke/journal.log
Normal file
2786
tests/smoke/journal.log
Normal file
File diff suppressed because it is too large
Load diff
519
tests/smoke/server.log
Normal file
519
tests/smoke/server.log
Normal file
|
@ -0,0 +1,519 @@
|
||||||
|
Thu Jan 1 00:00:00 1970 ------------------------------------------------------
|
||||||
|
Thu Jan 1 00:00:00 1970 Empire server (pid 42) started
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #3
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #3
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #3
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #4
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #4
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #4
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #5
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #5
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #5
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #6
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #6
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #6
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #7
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #7
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #7
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #9
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #9
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #9
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #10
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #10
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #10
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 First update since reboot, allocating buffer
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 0 announcements deleted; 0 announcements saved
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #2
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #8
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 Triggering unscheduled update
|
||||||
|
Thu Jan 1 00:00:00 1970 production update (60 etus)
|
||||||
|
Thu Jan 1 00:00:00 1970 preparing sectors...
|
||||||
|
Thu Jan 1 00:00:00 1970 done preparing sectors.
|
||||||
|
Thu Jan 1 00:00:00 1970 producing for countries...
|
||||||
|
Thu Jan 1 00:00:00 1970 done producing for countries.
|
||||||
|
Thu Jan 1 00:00:00 1970 delivering...
|
||||||
|
Thu Jan 1 00:00:00 1970 done delivering
|
||||||
|
Thu Jan 1 00:00:00 1970 assembling paths...
|
||||||
|
Thu Jan 1 00:00:00 1970 done assembling paths 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 exporting...
|
||||||
|
Thu Jan 1 00:00:00 1970 done exporting
|
||||||
|
Thu Jan 1 00:00:00 1970 importing...
|
||||||
|
Thu Jan 1 00:00:00 1970 done importing
|
||||||
|
Thu Jan 1 00:00:00 1970 Deleting annos older than Thu Jan 1 00:00:00 1970
|
||||||
|
Thu Jan 1 00:00:00 1970 End update 0.0 user 0.0 system
|
||||||
|
Thu Jan 1 00:00:00 1970 Update schedule read
|
||||||
|
Thu Jan 1 00:00:00 1970 No update scheduled
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #0
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 using country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged in as country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 tester@127.0.0.1 logged out, country #1
|
||||||
|
Thu Jan 1 00:00:00 1970 Shutdown commencing (cleaning up threads.)
|
||||||
|
Thu Jan 1 00:00:00 1970 Server shutting down on signal 15
|
13993
tests/smoke/smoke.out
Normal file
13993
tests/smoke/smoke.out
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue