mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Add Cirrus CI config
This commit is contained in:
parent
92c2074193
commit
cd9fec7bdb
82 changed files with 692 additions and 149 deletions
126
.cirrus.yml
Normal file
126
.cirrus.yml
Normal file
|
@ -0,0 +1,126 @@
|
|||
cpus: &CPUS 8
|
||||
btest_jobs: &BTEST_JOBS 8
|
||||
memory: &MEMORY 8GB
|
||||
|
||||
config: &CONFIG --build-type=release --enable-cpp-tests
|
||||
leak_config: &LEAK_CONFIG --build-type=debug --enable-perftools-debug
|
||||
|
||||
resources_template: &RESOURCES_TEMPLATE
|
||||
cpu: *CPUS
|
||||
memory: *MEMORY
|
||||
|
||||
ci_template: &CI_TEMPLATE
|
||||
only_if: >
|
||||
$CIRRUS_PR != '' ||
|
||||
$CIRRUS_BRANCH == 'master' ||
|
||||
$CIRRUS_BRANCH =~ 'release/.*'
|
||||
|
||||
# Default timeout is 60 minutes, Cirrus hard limit is 120 minutes for free
|
||||
# tasks. This leakcheck one can tend to run long, but see no downside
|
||||
# to universally asking for the maximum.
|
||||
timeout_in: 120m
|
||||
|
||||
sync_submodules_script: git submodule update --recursive --init
|
||||
|
||||
get_external_pcaps_cache:
|
||||
folder: testing/external/zeek-testing-traces
|
||||
fingerprint_script: echo zeek-testing-traces
|
||||
populate_script: ./ci/init-external-repos.sh
|
||||
init_external_repos_script: ./ci/init-external-repos.sh
|
||||
|
||||
build_script: ./ci/build.sh
|
||||
test_script: ./ci/test.sh
|
||||
|
||||
on_failure:
|
||||
upload_btest_tmp_dir_artifacts:
|
||||
path: "testing/**/tmp.tar.gz"
|
||||
always:
|
||||
upload_btest_xml_results_artifacts:
|
||||
path: "testing/**/btest-results.xml"
|
||||
type: text/xml
|
||||
format: junit
|
||||
upload_btest_html_results_artifacts:
|
||||
path: "testing/**/btest-results.html"
|
||||
type: text/html
|
||||
|
||||
env:
|
||||
CIRRUS_WORKING_DIR: /zeek
|
||||
ZEEK_CI_CPUS: *CPUS
|
||||
ZEEK_CI_BTEST_JOBS: *BTEST_JOBS
|
||||
ZEEK_CI_CONFIGURE_FLAGS: *CONFIG
|
||||
# This is a single-use, read-only GitHub deploy key (SSH private key) for the
|
||||
# zeek-testing-private repository.
|
||||
ZEEK_TESTING_PRIVATE_SSH_KEY: ENCRYPTED[4d924499a9b7428fc5c2faf72c86315c9dd8685561f597a009b935ca8dc102af8fc7e397eacc91bc224315d79cc09158]
|
||||
|
||||
# Linux EOL timelines: https://linuxlifecycle.com/
|
||||
# Fedora (~13 months): https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle
|
||||
|
||||
fedora30_task:
|
||||
container:
|
||||
# Fedora 30 EOL: Around June 2020
|
||||
dockerfile: ci/fedora-30/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
centos7_task:
|
||||
container:
|
||||
# CentOS 7 EOL: June 30, 2024
|
||||
dockerfile: ci/centos-7/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
debian9_task:
|
||||
container:
|
||||
# Debian 9 EOL: June 2022
|
||||
dockerfile: ci/debian-9/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
ubuntu18_task:
|
||||
container:
|
||||
# Ubuntu 18.04 EOL: April 2023
|
||||
dockerfile: ci/ubuntu-18.04/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
ubuntu16_task:
|
||||
container:
|
||||
# Ubuntu 16.04 EOL: April 2021
|
||||
dockerfile: ci/ubuntu-16.04/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
# Apple doesn't publish official long-term support timelines, so easiest
|
||||
# option is to only support the latest macOS release or whatever latest
|
||||
# image is available.
|
||||
macos_task:
|
||||
osx_instance:
|
||||
image: mojave-base
|
||||
prepare_script: ./ci/macos/prepare.sh
|
||||
<< : *CI_TEMPLATE
|
||||
env:
|
||||
# Currently only available as 2 core / 4 thread (and 8GB) instances.
|
||||
ZEEK_CI_CPUS: 4
|
||||
ZEEK_CI_BTEST_JOBS: 4
|
||||
# No permission to write to default location of /zeek
|
||||
CIRRUS_WORKING_DIR: /tmp/zeek
|
||||
|
||||
# FreeBSD EOL timelines: https://www.freebsd.org/security/security.html#sup
|
||||
freebsd_task:
|
||||
freebsd_instance:
|
||||
# FreeBSD 12 EOL: June 30, 2024
|
||||
image_family: freebsd-12-1
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
prepare_script: ./ci/freebsd/prepare.sh
|
||||
<< : *CI_TEMPLATE
|
||||
|
||||
leakcheck_task:
|
||||
container:
|
||||
# Just uses a recent/common distro to run leak checks.
|
||||
dockerfile: ci/ubuntu-18.04/Dockerfile
|
||||
<< : *RESOURCES_TEMPLATE
|
||||
<< : *CI_TEMPLATE
|
||||
env:
|
||||
ZEEK_CI_LEAK_CHECK: true
|
||||
ZEEK_CI_CONFIGURE_FLAGS: *LEAK_CONFIG
|
||||
ZEEK_CI_BTEST_JOBS: 7
|
|
@ -31,8 +31,8 @@ env:
|
|||
- distro: ubuntu_18.04
|
||||
- distro: ubuntu_18.04_leaktest
|
||||
|
||||
install: sh testing/scripts/travis-job install $distro
|
||||
install: sh ci/travis-job install $distro
|
||||
|
||||
before_script: sh testing/scripts/travis-job build $distro
|
||||
before_script: sh ci/travis-job build $distro
|
||||
|
||||
script: sh testing/scripts/travis-job run $distro
|
||||
script: sh ci/travis-job run $distro
|
||||
|
|
7
ci/build.sh
Executable file
7
ci/build.sh
Executable file
|
@ -0,0 +1,7 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
./configure ${ZEEK_CI_CONFIGURE_FLAGS}
|
||||
make -j ${ZEEK_CI_CPUS}
|
54
ci/centos-7/Dockerfile
Normal file
54
ci/centos-7/Dockerfile
Normal file
|
@ -0,0 +1,54 @@
|
|||
FROM centos:7
|
||||
|
||||
# The version of git in the standard repos is 1.8 and CI needs 2.3+
|
||||
# for the use of GIT_SSH_COMMAND when cloning private repos.
|
||||
RUN yum -y install \
|
||||
https://repo.ius.io/ius-release-el7.rpm \
|
||||
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
|
||||
&& yum -y install git2u \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
RUN yum -y install \
|
||||
epel-release \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
RUN yum -y install \
|
||||
centos-release-scl \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
RUN yum -y install \
|
||||
devtoolset-7 \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
RUN yum -y install \
|
||||
cmake3 \
|
||||
make \
|
||||
flex \
|
||||
bison \
|
||||
swig \
|
||||
openssl \
|
||||
openssl-devel \
|
||||
libpcap-devel \
|
||||
python3 \
|
||||
python3-devel \
|
||||
python3-pip\
|
||||
zlib-devel \
|
||||
sqlite \
|
||||
findutils \
|
||||
which \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
|
||||
# this is a simple workaround until we drop Python 2 support and explicitly
|
||||
# use `python3` for all invocations (e.g. in shebangs).
|
||||
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
|
||||
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
RUN pip install junit2html
|
||||
|
||||
RUN echo 'unset BASH_ENV PROMPT_COMMAND ENV' > /usr/bin/zeek-ci-env && \
|
||||
echo 'source /opt/rh/devtoolset-7/enable' >> /usr/bin/zeek-ci-env
|
||||
|
||||
ENV BASH_ENV="/usr/bin/zeek-ci-env" \
|
||||
ENV="/usr/bin/zeek-ci-env" \
|
||||
PROMPT_COMMAND=". /usr/bin/zeek-ci-env"
|
40
ci/debian-9/Dockerfile
Normal file
40
ci/debian-9/Dockerfile
Normal file
|
@ -0,0 +1,40 @@
|
|||
FROM debian:9
|
||||
|
||||
RUN apt-get update && apt-get -y install \
|
||||
git \
|
||||
cmake \
|
||||
make \
|
||||
gcc \
|
||||
g++ \
|
||||
flex \
|
||||
bison \
|
||||
libpcap-dev \
|
||||
libssl-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-pip\
|
||||
swig \
|
||||
zlib1g-dev \
|
||||
libkrb5-dev \
|
||||
bsdmainutils \
|
||||
sqlite3 \
|
||||
curl \
|
||||
wget \
|
||||
xz-utils \
|
||||
clang-7 \
|
||||
libc++-7-dev \
|
||||
libc++abi-7-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN update-alternatives --install /usr/bin/cc cc /usr/bin/clang-7 100
|
||||
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-7 100
|
||||
|
||||
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
|
||||
# this is a simple workaround until we drop Python 2 support and explicitly
|
||||
# use `python3` for all invocations (e.g. in shebangs).
|
||||
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
|
||||
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
RUN pip install junit2html
|
||||
|
||||
ENV CXXFLAGS=-stdlib=libc++
|
30
ci/fedora-30/Dockerfile
Normal file
30
ci/fedora-30/Dockerfile
Normal file
|
@ -0,0 +1,30 @@
|
|||
FROM fedora:30
|
||||
|
||||
RUN yum -y install \
|
||||
git \
|
||||
cmake \
|
||||
make \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
flex \
|
||||
bison \
|
||||
swig \
|
||||
openssl \
|
||||
openssl-devel \
|
||||
libpcap-devel \
|
||||
python3 \
|
||||
python3-devel \
|
||||
python3-pip\
|
||||
zlib-devel \
|
||||
sqlite \
|
||||
findutils \
|
||||
which \
|
||||
&& yum clean all && rm -rf /var/cache/yum
|
||||
|
||||
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
|
||||
# this is a simple workaround until we drop Python 2 support and explicitly
|
||||
# use `python3` for all invocations (e.g. in shebangs).
|
||||
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
|
||||
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
RUN pip install junit2html
|
11
ci/freebsd/prepare.sh
Executable file
11
ci/freebsd/prepare.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Preparing FreeBSD environment"
|
||||
sysctl hw.model hw.machine hw.ncpu
|
||||
set -e
|
||||
set -x
|
||||
|
||||
env ASSUME_ALWAYS_YES=YES pkg bootstrap
|
||||
pkg install -y bash git cmake swig30 bison python3 py36-sqlite3 py36-pip base64
|
||||
( cd && mkdir -p ./bin && ln -s /usr/local/bin/python3 ./bin/python )
|
||||
pip install junit2html
|
66
ci/init-external-repos.sh
Executable file
66
ci/init-external-repos.sh
Executable file
|
@ -0,0 +1,66 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
function banner
|
||||
{
|
||||
local msg="${1}"
|
||||
printf "+--------------------------------------------------------------+\n"
|
||||
printf "| %-60s |\n" "$(date)"
|
||||
printf "| %-60s |\n" "${msg}"
|
||||
printf "+--------------------------------------------------------------+\n"
|
||||
}
|
||||
|
||||
set -e
|
||||
|
||||
cd testing/external
|
||||
[[ ! -d zeek-testing ]] && make init
|
||||
cd zeek-testing
|
||||
git checkout -q $(cat ../commit-hash.zeek-testing)
|
||||
|
||||
if [[ -n "${CIRRUS_CI}" ]]; then
|
||||
if [[ -d ../zeek-testing-traces ]]; then
|
||||
banner "Use existing/cached zeek-testing traces"
|
||||
else
|
||||
banner "Create cache directory for zeek-testing traces"
|
||||
mkdir ../zeek-testing-traces
|
||||
fi
|
||||
|
||||
rm -rf Traces
|
||||
ln -s ../zeek-testing-traces Traces
|
||||
fi
|
||||
|
||||
make update-traces
|
||||
cd ..
|
||||
|
||||
# Note that this script is also called when populating the public cache, so
|
||||
# the zeek-testing-private dir could have been created/populated already.
|
||||
if [[ -n "${CIRRUS_CI}" ]] && [[ ! -d zeek-testing-private ]]; then
|
||||
# If we're running this on Cirrus, the SSH key won't be available to PRs,
|
||||
# so don't make any of this fail the task in that case. (But technically,
|
||||
# the key is also available in PRs for people with write access to the
|
||||
# repo, so we can still try for those cases).
|
||||
if [[ -n "${CIRRUS_PR}" ]]; then
|
||||
set +e
|
||||
else
|
||||
set -e
|
||||
fi
|
||||
|
||||
banner "Trying to clone zeek-testing-private git repo"
|
||||
echo "${ZEEK_TESTING_PRIVATE_SSH_KEY}" > cirrus_key.b64
|
||||
base64 --decode cirrus_key.b64 > cirrus_key
|
||||
rm cirrus_key.b64
|
||||
chmod 600 cirrus_key
|
||||
git --version
|
||||
# Note: GIT_SSH_COMMAND requires git 2.3.0+
|
||||
export GIT_SSH_COMMAND="ssh -i cirrus_key -F /dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||||
git clone git@github.com:zeek/zeek-testing-private
|
||||
rm cirrus_key
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -d zeek-testing-private ]]; then
|
||||
# Note that we never cache private pcaps.
|
||||
banner "Update zeek-testing-private traces"
|
||||
cd zeek-testing-private
|
||||
make update-traces
|
||||
fi
|
8
ci/macos/prepare.sh
Executable file
8
ci/macos/prepare.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Preparing macOS environment"
|
||||
sysctl hw.model hw.machine hw.ncpu hw.physicalcpu hw.logicalcpu
|
||||
set -e
|
||||
set -x
|
||||
|
||||
brew install cmake swig openssl bison
|
158
ci/test.sh
Executable file
158
ci/test.sh
Executable file
|
@ -0,0 +1,158 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
# It's possible to use this script locally from the zeek repo's root dir.
|
||||
# The parallelism level when running tests locally is $1 if provided, else
|
||||
# the value of `nproc` if available, otherwise just a single core. Run with
|
||||
# ZEEK_CI_LEAK_CHECK set to do just the leak checks.
|
||||
|
||||
result=0
|
||||
BTEST=$(pwd)/aux/btest/btest
|
||||
|
||||
if [[ -z "${CIRRUS_CI}" ]]; then
|
||||
# Set default values to use in place of env. variables set by Cirrus CI.
|
||||
ZEEK_CI_CPUS=1
|
||||
[[ $(which nproc) ]] && ZEEK_CI_CPUS=$(nproc)
|
||||
[[ -n "${1}" ]] && ZEEK_CI_CPUS=${1}
|
||||
ZEEK_CI_BTEST_JOBS=${ZEEK_CI_CPUS}
|
||||
fi
|
||||
|
||||
function pushd
|
||||
{
|
||||
command pushd "$@" > /dev/null || exit 1
|
||||
}
|
||||
|
||||
function popd
|
||||
{
|
||||
command popd "$@" > /dev/null || exit 1
|
||||
}
|
||||
|
||||
function banner
|
||||
{
|
||||
local msg="${1}"
|
||||
printf "+--------------------------------------------------------------+\n"
|
||||
printf "| %-60s |\n" "$(date)"
|
||||
printf "| %-60s |\n" "${msg}"
|
||||
printf "+--------------------------------------------------------------+\n"
|
||||
}
|
||||
|
||||
function run_unit_tests
|
||||
{
|
||||
banner "Running unit tests"
|
||||
|
||||
pushd build
|
||||
( . ./zeek-path-dev.sh && zeek --test ) || result=1
|
||||
popd
|
||||
return 0
|
||||
}
|
||||
|
||||
function prep_artifacts
|
||||
{
|
||||
banner "Prepare artifacts"
|
||||
[[ -d .tmp ]] && rm -rf .tmp/script-coverage && tar -czf tmp.tar.gz .tmp
|
||||
junit2html btest-results.xml btest-results.html
|
||||
}
|
||||
|
||||
function run_btests
|
||||
{
|
||||
banner "Running baseline tests: zeek"
|
||||
|
||||
pushd testing/btest
|
||||
${BTEST} -d -b -x btest-results.xml -j ${ZEEK_CI_BTEST_JOBS} || result=1
|
||||
make coverage
|
||||
prep_artifacts
|
||||
popd
|
||||
return 0
|
||||
}
|
||||
|
||||
function run_external_btests
|
||||
{
|
||||
local zeek_testing_pid=""
|
||||
local zeek_testing_pid_private=""
|
||||
pushd testing/external/zeek-testing
|
||||
${BTEST} -d -b -x btest-results.xml -j ${ZEEK_CI_BTEST_JOBS} >btest.out 2>&1 &
|
||||
zeek_testing_pid=$!
|
||||
popd
|
||||
|
||||
if [[ -d testing/external/zeek-testing-private ]]; then
|
||||
pushd testing/external/zeek-testing-private
|
||||
# Note that we don't use btest's "-d" flag or generate/upload any
|
||||
# artifacts to prevent leaking information about the private pcaps.
|
||||
${BTEST} -b -j ${ZEEK_CI_BTEST_JOBS} >btest.out 2>&1 &
|
||||
zeek_testing_private_pid=$!
|
||||
popd
|
||||
fi
|
||||
|
||||
banner "Running baseline tests: external/zeek-testing"
|
||||
wait ${zeek_testing_pid} || result=1
|
||||
pushd testing/external/zeek-testing
|
||||
cat btest.out
|
||||
make coverage
|
||||
prep_artifacts
|
||||
popd
|
||||
|
||||
if [[ -n "${zeek_testing_private_pid}" ]]; then
|
||||
banner "Running baseline tests: external/zeek-testing-private"
|
||||
wait ${zeek_testing_private_pid} || result=1
|
||||
pushd testing/external/zeek-testing-private
|
||||
make coverage
|
||||
cat btest.out
|
||||
popd
|
||||
else
|
||||
banner "Skipping private tests (not available for PRs)"
|
||||
fi
|
||||
}
|
||||
|
||||
function run_leak_tests
|
||||
{
|
||||
local zeek_testing_pid=""
|
||||
local zeek_testing_pid_private=""
|
||||
banner "Running memory leak tests: zeek"
|
||||
|
||||
pushd testing/btest
|
||||
${BTEST} -d -b -x btest-results.xml -j ${ZEEK_CI_BTEST_JOBS} -g leaks || result=1
|
||||
prep_artifacts
|
||||
popd
|
||||
|
||||
pushd testing/external/zeek-testing
|
||||
${BTEST} -d -b -x btest-results.xml -j ${ZEEK_CI_BTEST_JOBS} -g leaks >btest.out 2>&1 &
|
||||
zeek_testing_pid=$!
|
||||
popd
|
||||
|
||||
if [[ -d testing/external/zeek-testing-private ]]; then
|
||||
pushd testing/external/zeek-testing-private
|
||||
# Note that we don't use btest's "-d" flag or generate/upload any
|
||||
# artifacts to prevent leaking information about the private pcaps.
|
||||
${BTEST} -b -j ${ZEEK_CI_BTEST_JOBS} -g leaks >btest.out 2>&1 &
|
||||
zeek_testing_private_pid=$!
|
||||
popd
|
||||
fi
|
||||
|
||||
banner "Running memory leak tests: external/zeek-testing"
|
||||
wait ${zeek_testing_pid} || result=1
|
||||
pushd testing/external/zeek-testing
|
||||
cat btest.out
|
||||
prep_artifacts
|
||||
popd
|
||||
|
||||
if [[ -n "${zeek_testing_private_pid}" ]]; then
|
||||
banner "Running memory leak tests: external/zeek-testing-private"
|
||||
wait ${zeek_testing_private_pid} || result=1
|
||||
cat testing/external/zeek-testing-private/btest.out
|
||||
else
|
||||
banner "Skipping private tests (not available for PRs)"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
banner "Start tests: ${ZEEK_CI_CPUS} cpus, ${ZEEK_CI_BTEST_JOBS} btest jobs"
|
||||
|
||||
if [[ -n "${ZEEK_CI_LEAK_CHECK}" ]]; then
|
||||
run_leak_tests
|
||||
else
|
||||
run_unit_tests
|
||||
run_btests
|
||||
run_external_btests
|
||||
fi
|
||||
|
||||
exit ${result}
|
6
testing/scripts/travis-job → ci/travis-job
Normal file → Executable file
6
testing/scripts/travis-job → ci/travis-job
Normal file → Executable file
|
@ -125,7 +125,7 @@ build_in_docker() {
|
|||
|
||||
# Pass the distro as a different environment variable name to docker since
|
||||
# the script will set $distro to "travis" as part of the invocation.
|
||||
docker exec -e COV_TOKEN -e BUILD_DISTRO=${distro} zeektest sh testing/scripts/travis-job build ${recursed_distro}
|
||||
docker exec -e COV_TOKEN -e BUILD_DISTRO=${distro} zeektest sh ci/travis-job build ${recursed_distro}
|
||||
}
|
||||
|
||||
|
||||
|
@ -139,7 +139,7 @@ run_in_docker() {
|
|||
|
||||
# Pass the distro as a different environment variable name to docker since
|
||||
# the script will set $distro to "travis" as part of the invocation.
|
||||
docker exec -t -e TRAVIS -e TRAVIS_PULL_REQUEST -e TESTING_PRIVATE_DEPLOYKEY -e COV_TOKEN -e BUILD_DISTRO=${distro} zeektest sh testing/scripts/travis-job run ${recursed_distro}
|
||||
docker exec -t -e TRAVIS -e TRAVIS_PULL_REQUEST -e TESTING_PRIVATE_DEPLOYKEY -e COV_TOKEN -e BUILD_DISTRO=${distro} zeektest sh ci/travis-job run ${recursed_distro}
|
||||
}
|
||||
|
||||
update_env() {
|
||||
|
@ -352,7 +352,7 @@ remove_container() {
|
|||
}
|
||||
|
||||
|
||||
if [ ! -f testing/scripts/travis-job ]; then
|
||||
if [ ! -f ci/travis-job ]; then
|
||||
echo "Error: must change directory to root of zeek source tree before running this script."
|
||||
exit 1
|
||||
fi
|
41
ci/ubuntu-16.04/Dockerfile
Normal file
41
ci/ubuntu-16.04/Dockerfile
Normal file
|
@ -0,0 +1,41 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update && apt-get -y install \
|
||||
git \
|
||||
cmake \
|
||||
make \
|
||||
gcc \
|
||||
g++ \
|
||||
flex \
|
||||
bison \
|
||||
libpcap-dev \
|
||||
libssl-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-pip\
|
||||
swig \
|
||||
zlib1g-dev \
|
||||
libkrb5-dev \
|
||||
bsdmainutils \
|
||||
sqlite3 \
|
||||
curl \
|
||||
wget \
|
||||
xz-utils \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN wget -q https://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
RUN mkdir /clang-9
|
||||
RUN tar --strip-components=1 -C /clang-9 -xvf clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
RUN update-alternatives --install /usr/bin/cc cc /clang-9/bin/clang 100
|
||||
RUN update-alternatives --install /usr/bin/c++ c++ /clang-9/bin/clang++ 100
|
||||
|
||||
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
|
||||
# this is a simple workaround until we drop Python 2 support and explicitly
|
||||
# use `python3` for all invocations (e.g. in shebangs).
|
||||
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
|
||||
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
RUN pip install junit2html
|
||||
|
||||
ENV CXXFLAGS=-stdlib=libc++
|
||||
ENV LD_LIBRARY_PATH=/clang-9/lib
|
34
ci/ubuntu-18.04/Dockerfile
Normal file
34
ci/ubuntu-18.04/Dockerfile
Normal file
|
@ -0,0 +1,34 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update && apt-get -y install \
|
||||
git \
|
||||
cmake \
|
||||
make \
|
||||
gcc \
|
||||
g++ \
|
||||
flex \
|
||||
bison \
|
||||
libpcap-dev \
|
||||
libssl-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-pip\
|
||||
swig \
|
||||
zlib1g-dev \
|
||||
libkrb5-dev \
|
||||
bsdmainutils \
|
||||
sqlite3 \
|
||||
curl \
|
||||
wget \
|
||||
google-perftools \
|
||||
libgoogle-perftools4 \
|
||||
libgoogle-perftools-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
|
||||
# this is a simple workaround until we drop Python 2 support and explicitly
|
||||
# use `python3` for all invocations (e.g. in shebangs).
|
||||
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
|
||||
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
RUN pip install junit2html
|
|
@ -3,7 +3,7 @@
|
|||
# @TEST-EXEC: btest-bg-run recv "zeek -B broker -b ../recv.zeek >recv.out"
|
||||
# @TEST-EXEC: btest-bg-run send "zeek -B broker -b ../send.zeek >send.out"
|
||||
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-pid $(cat recv/.pid) 45 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file send/lost 45 || (btest-bg-wait -k 1 && false)
|
||||
|
||||
# @TEST-EXEC: btest-bg-run recv2 "zeek -B broker -b ../recv.zeek >recv2.out"
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
|
@ -33,6 +33,7 @@ event zeek_init()
|
|||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||
{
|
||||
print "peer lost", msg;
|
||||
system("touch lost");
|
||||
|
||||
if ( peers == 2 )
|
||||
terminate();
|
||||
|
|
|
@ -17,13 +17,11 @@
|
|||
redef exit_only_after_terminate = T;
|
||||
|
||||
global quit_receiver: event();
|
||||
global quit_sender: event();
|
||||
|
||||
|
||||
module Test;
|
||||
|
||||
export {
|
||||
redef enum Log::ID += { LOG };
|
||||
redef enum Log::ID += { LOG };
|
||||
|
||||
type Info: record {
|
||||
b: bool;
|
||||
|
@ -48,9 +46,14 @@ export {
|
|||
}
|
||||
|
||||
event zeek_init() &priority=5
|
||||
{
|
||||
Log::create_stream(Test::LOG, [$columns=Test::Info]);
|
||||
}
|
||||
{
|
||||
Log::create_stream(Test::LOG, [$columns=Test::Info]);
|
||||
}
|
||||
|
||||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||
{
|
||||
terminate();
|
||||
}
|
||||
|
||||
@TEST-END-FILE
|
||||
|
||||
|
@ -73,8 +76,6 @@ event quit_receiver()
|
|||
|
||||
@TEST-START-FILE send.zeek
|
||||
|
||||
|
||||
|
||||
@load ./common
|
||||
|
||||
event zeek_init()
|
||||
|
@ -82,11 +83,6 @@ event zeek_init()
|
|||
Broker::peer("127.0.0.1", to_port(getenv("BROKER_PORT")));
|
||||
}
|
||||
|
||||
event quit_sender()
|
||||
{
|
||||
terminate();
|
||||
}
|
||||
|
||||
function foo(i : count) : string
|
||||
{
|
||||
if ( i > 0 )
|
||||
|
@ -101,7 +97,7 @@ event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
|||
|
||||
local empty_set: set[string];
|
||||
local empty_vector: vector of string;
|
||||
|
||||
|
||||
Log::write(Test::LOG, [
|
||||
$b=T,
|
||||
$i=-42,
|
||||
|
@ -122,10 +118,7 @@ event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
|||
$f=foo
|
||||
]);
|
||||
|
||||
local e = Broker::make_event(quit_receiver);
|
||||
Broker::publish("zeek/", e);
|
||||
schedule 1sec { quit_sender() };
|
||||
}
|
||||
|
||||
Broker::publish("zeek/", quit_receiver);
|
||||
}
|
||||
|
||||
@TEST-END-FILE
|
||||
|
|
|
@ -6,7 +6,7 @@ global RUN = 0 &redef;
|
|||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
global query_timeout = 1sec;
|
||||
global query_timeout = 10sec;
|
||||
|
||||
global h: opaque of Broker::Store;
|
||||
|
||||
|
@ -32,8 +32,8 @@ event zeek_init()
|
|||
h = Broker::create_master("master", Broker::SQLITE);
|
||||
|
||||
print "Run", RUN;
|
||||
|
||||
if ( RUN == 1 )
|
||||
|
||||
if ( RUN == 1 )
|
||||
{
|
||||
print "Inserting";
|
||||
Broker::put(h, "one", "110");
|
||||
|
@ -55,5 +55,5 @@ event zeek_init()
|
|||
print_index(set("x", "y"));
|
||||
}
|
||||
|
||||
schedule 2secs { done() };
|
||||
schedule 2secs { done() };
|
||||
}
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/tunnels/ayiya3.trace
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# @TEST-EXEC: btest-bg-run manager-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -m %INPUT
|
||||
# @TEST-EXEC: btest-bg-run worker-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -m %INPUT
|
||||
# @TEST-EXEC: btest-bg-run worker-2 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -m %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 120
|
||||
|
||||
@TEST-START-FILE cluster-layout.zeek
|
||||
redef Cluster::nodes = {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function test_basic_bloom_filter()
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run clone "zeek -m -b ../clone.zeek >clone.out"
|
||||
# @TEST-EXEC: btest-bg-run master "zeek -b ../master.zeek >master.out"
|
||||
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff clone/clone.out
|
||||
|
||||
@TEST-START-FILE master.zeek
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
# @TEST-EXEC: btest-diff zeek/.stdout
|
||||
|
||||
type bro_set: set[string];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run recv "zeek -m -b ../recv.zeek >recv.out"
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run send "zeek -m -b ../send.zeek >send.out"
|
||||
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
# @TEST-EXEC: btest-diff recv/recv.out
|
||||
# @TEST-EXEC: btest-diff send/send.out
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run recv "zeek -m -b ../recv.zeek >recv.out"
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run send "zeek -m -b ../send.zeek >send.out"
|
||||
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
# @TEST-EXEC: btest-diff recv/recv.out
|
||||
# @TEST-EXEC: btest-diff recv/test.log
|
||||
# @TEST-EXEC: btest-diff send/send.out
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run recv "zeek -m -b ../recv.zeek >recv.out"
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run send "zeek -m -b ../send.zeek >send.out"
|
||||
|
||||
# @TEST-EXEC: btest-bg-wait 45
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
# @TEST-EXEC: btest-diff recv/recv.out
|
||||
# @TEST-EXEC: btest-diff send/send.out
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
global did_it = F;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
type MyEnum: enum { ENUMME };
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -C -m -r $TRACES/dnssec/nsec3.pcap %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load policy/protocols/dns/auth-addl
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/tls/dtls1_0.pcap %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ssl
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b ../exectest.zeek
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE exectest.zeek
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/http/get.trace $SCRIPTS/file-analysis-test.zeek %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef test_file_analysis_source = "HTTP";
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/http/get.trace $SCRIPTS/file-analysis-test.zeek %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
# maps a function to a vector
|
||||
function map_1 (f: function(a: count): count, v: vector of count) : vector of count
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/globus-url-copy.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ftp/gridftp
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/tunnels/gtp/gtp6_gtp_0x32.pcap %INPUT >out
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
# Some GTPv1 headers have some optional fields totaling to a 4-byte extension
|
||||
# of the mandatory header.
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
# @TEST-EXEC: btest-bg-run manager-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -m %INPUT
|
||||
# @TEST-EXEC: btest-bg-run worker-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -m runnumber=1 %INPUT
|
||||
# @TEST-EXEC: btest-bg-run worker-2 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -m runnumber=2 %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 120
|
||||
#
|
||||
# @TEST-EXEC: btest-diff manager-1/.stdout
|
||||
# @TEST-EXEC: btest-diff worker-1/.stdout
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
type rec: record {
|
||||
a: count;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/http/connect-with-smtp.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/conn
|
||||
@load base/protocols/http
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/chksums/ip4-udp-good-chksum.pcap %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
type rec: record {
|
||||
a: count;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE input.log
|
||||
#separator \x09
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE input.log
|
||||
#fields e i
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE input.log
|
||||
#separator \x09
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE input.log
|
||||
#separator \x09
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
#
|
||||
# @TEST-EXEC: cp input1.log input.log
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 60 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 90 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cat input2.log >> input.log
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got6 15 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got6 30 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cat input3.log >> input.log
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 120
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
#
|
||||
# @TEST-EXEC: cp input1.log input.log
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 60 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 90 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cp input2.log input.log
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got4 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got4 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cp input3.log input.log
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got6 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got6 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cp input4.log input.log
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got8 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got8 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: cp input5.log input.log
|
||||
# @TEST-EXEC: btest-bg-wait 120
|
||||
# @TEST-EXEC: btest-bg-wait 150
|
||||
|
||||
@TEST-START-FILE input1.log
|
||||
#separator \x09
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#
|
||||
# @TEST-EXEC: cat conn.sql | sqlite3 conn.sqlite
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@TEST-START-FILE conn.sql
|
||||
PRAGMA foreign_keys=OFF;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/frameworks/input
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek1 zeek -m -b -r $TRACES/tunnels/6in6.pcap %INPUT
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek2 zeek -m -b -r $TRACES/tunnels/6in6in6.pcap %INPUT
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek3 zeek -m -b -r $TRACES/tunnels/6in6-tunnel-change.pcap %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 120
|
||||
|
||||
event new_connection(c: connection)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/ipv6-hbh-routing0.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
# Just check that the event is raised correctly for a packet containing
|
||||
# extension headers.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/irc-dcc-send.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
event irc_names_info(c: connection, is_orig: bool, c_type: string, channel: string, users: string_set)
|
||||
{
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/krb/optional-service-name.pcap
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/krb/kinit.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 30
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/krb
|
||||
@load base/protocols/krb
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
event new_connection(c: connection)
|
||||
{
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/mysql/mysql.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/mysql
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function test_case(msg: string, expect: bool)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/pe/pe.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ftp
|
||||
@load base/files/pe
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef Log::print_to_log = Log::REDIRECT_ALL;
|
||||
|
||||
|
@ -11,4 +11,4 @@ event new_connection(c: connection)
|
|||
{
|
||||
print "hello world ,";
|
||||
print 2,T;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/radius/radius.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/radius
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: btest-bg-run zeek HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local zeek -m -b %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
redef exit_only_after_terminate = T;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function test_case(msg: string, expect: bool)
|
||||
{
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/sip/wireshark.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/sip
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/smtp.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/smtp
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/snmp/snmpv1_get.pcap -r $TRACES/snmp/snmpv1_get_short.pcap -r $TRACES/snmp/snmpv1_set.pcap -r $TRACES/snmp/snmpv1_trap.pcap -r $TRACES/snmp/snmpv2_get_bulk.pcap -r $TRACES/snmp/snmpv2_get_next.pcap -r $TRACES/snmp/snmpv2_get.pcap -r $TRACES/snmp/snmpv3_get_next.pcap $SCRIPTS/snmp-test.zeek %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/snmp
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/ssh/ssh.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ssh
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load policy/misc/stats
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
|
||||
event new_connection(c: connection)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
type MyEnum: enum {
|
||||
RED,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-GROUP: leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/tunnels/Teredo.pcap %INPUT >output
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function print_teredo(name: string, outer: connection, inner: teredo_hdr)
|
||||
{
|
||||
|
|
|
@ -5,4 +5,4 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -r $TRACES/wikipedia.trace test-all-policy
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
type color: enum { Red, White, Blue };
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/wikipedia.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
global did_it = F;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# leaked that memeory.
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/ftp/ipv4.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function myfunc(aa: interval, bb: interval): int
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -m -b -r $TRACES/http/get.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
function test_noop()
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/tls/ocsp-stapling.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ssl
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-REQUIRES: zeek --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local btest-bg-run zeek zeek -b -m -r $TRACES/tls/tls-expired-cert.trace %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait 60
|
||||
# @TEST-EXEC: btest-bg-wait 90
|
||||
|
||||
@load base/protocols/ssl
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# @TEST-EXEC: btest-bg-run zeek zeek -b %INPUT
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got1 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got1 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: mv configfile2 configfile
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got2 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: mv configfile3 configfile
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got3 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file zeek/got3 20 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: mv configfile4 configfile
|
||||
# @TEST-EXEC: btest-bg-wait 10
|
||||
# @TEST-EXEC: btest-bg-wait 20
|
||||
# @TEST-EXEC: btest-diff zeek/config.log
|
||||
|
||||
@load base/frameworks/config
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# @TEST-EXEC: btest-bg-run manager-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek %INPUT
|
||||
# @TEST-EXEC: btest-bg-run worker-1 ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek %INPUT
|
||||
# @TEST-EXEC: btest-bg-wait -k 13
|
||||
# @TEST-EXEC: btest-bg-wait 30
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff manager-1/.stdout
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff worker-1/.stdout
|
||||
# @TEST-EXEC: btest-diff manager-1/intel.log
|
||||
|
@ -36,20 +36,23 @@ event test_worker()
|
|||
Intel::seen([$host=10.10.10.10, $where=Intel::IN_ANYWHERE]);
|
||||
}
|
||||
|
||||
event Cluster::node_up(name: string, id: string)
|
||||
event ready()
|
||||
{
|
||||
# Insert the data once all workers are connected.
|
||||
if ( Cluster::local_node_type() == Cluster::MANAGER && Cluster::worker_count == 1 )
|
||||
{
|
||||
Intel::insert([$indicator="192.168.0.1", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.0.2", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.0.2", $indicator_type=Intel::ADDR, $meta=[$source="source2"]]);
|
||||
Intel::insert([$indicator="192.168.1.2", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.1.2", $indicator_type=Intel::ADDR, $meta=[$source="source2"]]);
|
||||
Intel::insert([$indicator="10.10.10.10", $indicator_type=Intel::ADDR, $meta=[$source="end"]]);
|
||||
Intel::insert([$indicator="192.168.0.1", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.0.2", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.0.2", $indicator_type=Intel::ADDR, $meta=[$source="source2"]]);
|
||||
Intel::insert([$indicator="192.168.1.2", $indicator_type=Intel::ADDR, $meta=[$source="source1"]]);
|
||||
Intel::insert([$indicator="192.168.1.2", $indicator_type=Intel::ADDR, $meta=[$source="source2"]]);
|
||||
Intel::insert([$indicator="10.10.10.10", $indicator_type=Intel::ADDR, $meta=[$source="end"]]);
|
||||
|
||||
event test_manager();
|
||||
}
|
||||
event test_manager();
|
||||
}
|
||||
|
||||
event Cluster::node_up(name: string, id: string)
|
||||
{
|
||||
if ( Cluster::node == "worker-1" )
|
||||
Broker::publish(Cluster::manager_topic, ready);
|
||||
}
|
||||
|
||||
global worker_data = 0;
|
||||
|
@ -74,19 +77,13 @@ event remove_indicator(item: Item)
|
|||
print fmt("Purging %s.", item$indicator);
|
||||
}
|
||||
|
||||
event die()
|
||||
{
|
||||
terminate();
|
||||
}
|
||||
|
||||
event Intel::log_intel(rec: Intel::Info)
|
||||
{
|
||||
print "Logging intel hit!";
|
||||
schedule 2sec { die() };
|
||||
terminate();
|
||||
}
|
||||
|
||||
event Cluster::node_down(name: string, id: string)
|
||||
{
|
||||
# Cascading termination
|
||||
schedule 2sec { die() };
|
||||
terminate();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# @TEST-EXEC: btest-bg-run manager-1 "cp ../cluster-layout.zeek . && CLUSTER_NODE=manager-1 zeek %INPUT"
|
||||
# @TEST-EXEC: btest-bg-run worker-1 "cp ../cluster-layout.zeek . && CLUSTER_NODE=worker-1 zeek --pseudo-realtime -C -r $TRACES/tls/ecdhe.pcap %INPUT"
|
||||
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-pid $(cat worker-1/.pid) 10 || (btest-bg-wait -k 1 && false)
|
||||
# @TEST-EXEC: $SCRIPTS/wait-for-file manager-1/lost 10 || (btest-bg-wait -k 1 && false)
|
||||
|
||||
# @TEST-EXEC: btest-bg-run worker-2 "cp ../cluster-layout.zeek . && CLUSTER_NODE=worker-2 zeek --pseudo-realtime -C -r $TRACES/tls/ecdhe.pcap %INPUT"
|
||||
# @TEST-EXEC: btest-bg-wait 20
|
||||
|
@ -59,6 +59,7 @@ global peers_lost = 0;
|
|||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||
{
|
||||
++peers_lost;
|
||||
system("touch lost");
|
||||
|
||||
if ( peers_lost == 2 )
|
||||
schedule 2sec { terminate_me() };
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
# Sleeps until a process id no longer exists.
|
||||
|
||||
if [[ $# -ne 2 ]]; then
|
||||
>&2 echo "usage: $0 <pid to wait for> <max secs to wait>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wait_pid=$1
|
||||
max_wait=$2
|
||||
wait_count=0
|
||||
|
||||
while kill -0 $wait_pid &> /dev/null; do
|
||||
let "wait_count += 1"
|
||||
|
||||
if [[ $wait_count -ge $max_wait ]]; then
|
||||
>&2 echo "error: process $wait_pid still exists after $max_wait seconds"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
done
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue