aboutsummaryrefslogtreecommitdiff
path: root/scripts/ci/ci-driver.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ci/ci-driver.sh')
-rwxr-xr-xscripts/ci/ci-driver.sh140
1 files changed, 61 insertions, 79 deletions
diff --git a/scripts/ci/ci-driver.sh b/scripts/ci/ci-driver.sh
index a13e0f6c17..09696924ba 100755
--- a/scripts/ci/ci-driver.sh
+++ b/scripts/ci/ci-driver.sh
@@ -30,7 +30,6 @@ RUN_STAGE_TEST="${RUN_STAGE_TEST:-yes}"
FATAL_WARNINGS="${FATAL_WARNINGS:-yes}"
HARDENING="${HARDENING:-no}"
COVERAGE="${COVERAGE:-no}"
-RUST="${RUST:-no}"
DOXYGEN="${DOXYGEN:-no}"
ASCIIDOC="${ASCIIDOC:-no}"
TRACING="${TRACING:-no}"
@@ -87,6 +86,7 @@ function error()
{
echo "${T_BOLD}${T_RED}ERROR:${T_RESET} $*" 1>&2
}
+
function die()
{
echo "${T_BOLD}${T_RED}FATAL ERROR:${T_RESET} $*" 1>&2
@@ -159,27 +159,27 @@ function show_git_version()
if [[ "${ON_GITLAB}" == "yes" ]]; then
function start_section()
{
- local label="$1"
- local stamp
- stamp=$(date +%s)
- printf "section_start:%s:%s\r\e[0K" "$stamp" "$label"
- echo "${T_BOLD}${T_GREEN}========= $label${T_RESET}"
+ local label="$1"
+ local stamp
+ stamp=$(date +%s)
+ printf "section_start:%s:%s\r\e[0K" "$stamp" "$label"
+ echo "${T_BOLD}${T_GREEN}========= $label${T_RESET}"
}
function end_section()
{
- local label="$1"
- local stamp
- stamp=$(date +%s)
- printf "section_end:%s:%s\r\e[0K" "$stamp" "$label"
+ local label="$1"
+ local stamp
+ stamp=$(date +%s)
+ printf "section_end:%s:%s\r\e[0K" "$stamp" "$label"
}
else
function start_section()
{
- true
+ true
}
function end_section()
{
- true
+ true
}
fi
@@ -193,7 +193,6 @@ yes_or_no ON_GITLAB
yes_or_no FATAL_WARNINGS
yes_or_no HARDENING
yes_or_no COVERAGE
-yes_or_no RUST
yes_or_no DOXYGEN
yes_or_no ASCIIDOC
yes_or_no TRACING
@@ -245,9 +244,6 @@ fi
if [[ "$COVERAGE" == "yes" ]]; then
configure_options+=("--enable-coverage")
fi
-if [[ "$RUST" == "yes" ]]; then
- configure_options+=("--enable-rust")
-fi
if [[ "$ASCIIDOC" != "yes" ]]; then
configure_options+=("--disable-asciidoc")
fi
@@ -297,22 +293,6 @@ TOR_VER_AT_LEAST_044=no
# These are the currently supported Tor versions; no need to work with anything
# ancient in this script.
case "$TOR_VERSION" in
- 0.3.*)
- TOR_VER_AT_LEAST_043=no
- TOR_VER_AT_LEAST_044=no
- ;;
- 0.4.[012].*)
- TOR_VER_AT_LEAST_043=no
- TOR_VER_AT_LEAST_044=no
- ;;
- 0.4.3.*)
- TOR_VER_AT_LEAST_043=yes
- TOR_VER_AT_LEAST_044=no
- ;;
- 0.4.4.*)
- TOR_VER_AT_LEAST_043=yes
- TOR_VER_AT_LEAST_044=yes
- ;;
0.4.5.*)
TOR_VER_AT_LEAST_043=yes
TOR_VER_AT_LEAST_044=yes
@@ -354,18 +334,18 @@ if [[ "$RUN_STAGE_CONFIGURE" = "yes" ]]; then
start_section "Configure"
if ! runcmd "${CI_SRCDIR}"/configure "${configure_options[@]}" ; then
- error "Here is the end of config.log:"
- runcmd tail config.log
- die "Unable to continue"
+ error "Here is the end of config.log:"
+ runcmd tail config.log
+ die "Unable to continue"
fi
end_section "Configure"
else
debug "Skipping configure stage. Making sure that ${CI_BUILDDIR}/config.log exists."
if [[ ! -d "${CI_BUILDDIR}" ]]; then
- die "Build directory ${CI_BUILDDIR} did not exist!";
+ die "Build directory ${CI_BUILDDIR} did not exist!"
fi
if [[ ! -f "${CI_BUILDDIR}/config.log" ]]; then
- die "Tor was not configured in ${CI_BUILDDIR}!";
+ die "Tor was not configured in ${CI_BUILDDIR}!"
fi
cp config.log "${CI_SRCDIR}"/artifacts
@@ -379,26 +359,26 @@ fi
if [[ "$RUN_STAGE_BUILD" = "yes" ]] ; then
if [[ "$DISTCHECK" = "no" ]]; then
- start_section "Build"
- runcmd make "${make_options[@]}" all
+ start_section "Build"
+ runcmd make "${make_options[@]}" all
cp src/app/tor "${CI_SRCDIR}"/artifacts
- end_section "Build"
+ end_section "Build"
else
- export DISTCHECK_CONFIGURE_FLAGS="${configure_options[*]}"
- # XXXX Set make options?
- start_section Distcheck
- if runcmd make "${make_options[@]}" distcheck ; then
+ export DISTCHECK_CONFIGURE_FLAGS="${configure_options[*]}"
+ # XXXX Set make options?
+ start_section Distcheck
+ if runcmd make "${make_options[@]}" distcheck ; then
hooray "Distcheck was successful. Nothing further will be done."
# We have to exit early here, since we can't do any other tests.
cp tor-*.tar.gz "${CI_SRCDIR}"/artifacts
exit 0
- else
+ else
error "Diagnostics:"
runcmd make show-distdir-testlog || true
runcmd make show-distdir-core || true
die "Unable to continue."
- fi
- end_section Distcheck
+ fi
+ end_section Distcheck
fi
fi
@@ -416,9 +396,9 @@ if [[ "${DOXYGEN}" = 'yes' ]]; then
start_section Doxygen
if [[ "${TOR_VER_AT_LEAST_043}" = 'yes' ]]; then
if runcmd make doxygen; then
- hooray "make doxygen has succeeded."
+ hooray "make doxygen has succeeded."
else
- FAILED_TESTS="${FAILED_TESTS} doxygen"
+ FAILED_TESTS="${FAILED_TESTS} doxygen"
fi
else
skipping "make doxygen: doxygen is broken for Tor < 0.4.3"
@@ -452,6 +432,8 @@ if [[ "${CHUTNEY}" = "yes" ]]; then
start_section "Chutney"
export CHUTNEY_TOR_SANDBOX=0
export CHUTNEY_ALLOW_FAILURES=2
+ # Send 5MB for every verify check.
+ export CHUTNEY_DATA_BYTES=5000000
if runcmd make "${CHUTNEY_MAKE_TARGET}"; then
hooray "Chutney tests have succeeded"
else
@@ -467,36 +449,36 @@ if [[ "${CHUTNEY}" = "yes" ]]; then
fi
if [[ "${STEM}" = "yes" ]]; then
- start_section "Stem"
- # 0.3.5 and onward have now disabled onion service v2 so we need to exclude
- # these Stem tests from now on.
- EXCLUDE_TESTS="--exclude-test control.controller.test_ephemeral_hidden_services_v2 --exclude-test control.controller.test_hidden_services_conf --exclude-test control.controller.test_with_ephemeral_hidden_services_basic_auth --exclude-test control.controller.test_without_ephemeral_hidden_services --exclude-test control.controller.test_with_ephemeral_hidden_services_basic_auth_no_credentials"
- if [[ "${TOR_VER_AT_LEAST_044}" = 'yes' ]]; then
- # XXXX This should probably be part of some test-stem make target.
-
- # Disable the check around EXCLUDE_TESTS that requires double quote. We
- # need it to be expanded.
- # shellcheck disable=SC2086
- if runcmd timelimit -p -t 520 -s USR1 -T 30 -S ABRT \
- python3 "${STEM_PATH}/run_tests.py" \
- --tor src/app/tor \
- --integ --test control.controller \
- $EXCLUDE_TESTS \
- --test control.base_controller \
- --test process \
- --log TRACE \
- --log-file stem.log ; then
- hooray "Stem tests have succeeded"
- else
- error "Stem output:"
- runcmd tail -1000 "${STEM_PATH}"/test/data/tor_log
- runcmd grep -v "SocketClosed" stem.log | tail -1000
- FAILED_TESTS="${FAILED_TESTS} stem"
- fi
- else
- skipping "Stem: broken with <= 0.4.3. See bug tor#40077"
- fi
- end_section "Stem"
+ start_section "Stem"
+ # 0.3.5 and onward have now disabled onion service v2 so we need to exclude
+ # these Stem tests from now on.
+ EXCLUDE_TESTS="--exclude-test control.controller.test_ephemeral_hidden_services_v2 --exclude-test control.controller.test_hidden_services_conf --exclude-test control.controller.test_with_ephemeral_hidden_services_basic_auth --exclude-test control.controller.test_without_ephemeral_hidden_services --exclude-test control.controller.test_with_ephemeral_hidden_services_basic_auth_no_credentials"
+ if [[ "${TOR_VER_AT_LEAST_044}" = 'yes' ]]; then
+ # XXXX This should probably be part of some test-stem make target.
+
+ # Disable the check around EXCLUDE_TESTS that requires double quote. We
+ # need it to be expanded.
+ # shellcheck disable=SC2086
+ if runcmd timelimit -p -t 520 -s USR1 -T 30 -S ABRT \
+ python3 "${STEM_PATH}/run_tests.py" \
+ --tor src/app/tor \
+ --integ --test control.controller \
+ $EXCLUDE_TESTS \
+ --test control.base_controller \
+ --test process \
+ --log TRACE \
+ --log-file stem.log ; then
+ hooray "Stem tests have succeeded"
+ else
+ error "Stem output:"
+ runcmd tail -1000 "${STEM_PATH}"/test/data/tor_log
+ runcmd grep -v "SocketClosed" stem.log | tail -1000
+ FAILED_TESTS="${FAILED_TESTS} stem"
+ fi
+ else
+ skipping "Stem: broken with <= 0.4.3. See bug tor#40077"
+ fi
+ end_section "Stem"
fi
# TODO: Coverage