travis-ci improvements, add macos testing

pull/196/head
David Schweikert 4 years ago
parent 9682f3e49d
commit 2f71a6a701

@ -1,40 +1,73 @@
# travis-ci.org configuration
#
language: generic language: generic
sudo: required
dist: trusty os:
- linux
dist:
- trusty
- xenial
env: env:
global: global:
- secure: "CoI8hwHH1yfQoQxIfWGRS0WfTyScox+5aJn0fDDgz2uKrrIxmBvIw/WKX8wcSiV6fLmLuwgNkKqSM3hdO4qaG+JxfWcuEiZZHm+kxSGMkWbGb/fvAI+gHg8ldKyYttcIX71O5rlZiC2QpNKQi2v18S6pI5p8eqnx7DYx4YrmguQ=" - secure: "CoI8hwHH1yfQoQxIfWGRS0WfTyScox+5aJn0fDDgz2uKrrIxmBvIw/WKX8wcSiV6fLmLuwgNkKqSM3hdO4qaG+JxfWcuEiZZHm+kxSGMkWbGb/fvAI+gHg8ldKyYttcIX71O5rlZiC2QpNKQi2v18S6pI5p8eqnx7DYx4YrmguQ="
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key # via the "travis encrypt" command using the project repo's public key
- secure: "C9ZJ9LYnuowRdF4D66KLfquimvu8GtRGIafwvCcGYKReEy8phlBdFsHlybkMBNYJNTJSM0j6wyo1lKTVGHxmpQDimjR7kmxUtawbhuJ5qOCBtFqNVh9lRQi7hC4+UOhvRsIcbV8HAJM5u/5RxGOfXCePK3a2DtiYv1d2NHToZN8=" - secure: "C9ZJ9LYnuowRdF4D66KLfquimvu8GtRGIafwvCcGYKReEy8phlBdFsHlybkMBNYJNTJSM0j6wyo1lKTVGHxmpQDimjR7kmxUtawbhuJ5qOCBtFqNVh9lRQi7hC4+UOhvRsIcbV8HAJM5u/5RxGOfXCePK3a2DtiYv1d2NHToZN8="
compiler: compiler:
- gcc - gcc
before_install:
- sudo apt-get update -qq
- sudo apt-get install libcap2-bin
#- sudo apt-get install traceroute
#- traceroute google.com
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
install:
- ci/build-1-autotools.sh
- curl -L http://cpanmin.us | perl - --sudo App::cpanminus
- cpanm --sudo Test::Command
script:
- ci/build-2-install.sh
- env PATH=`pwd`/src:$PATH prove ci/test-*.pl
- ci/test-tarball.sh
after_success:
- ci/coveralls.sh
- ci/deploy-bintray.sh
addons: addons:
apt:
update: true
packages:
- libcap2-bin
- libtest-command-perl
coverity_scan: coverity_scan:
project: project:
name: "schweikert/fping" name: "schweikert/fping"
description: "Build submitted via Travis CI" description: "Build submitted via Travis CI"
notification_email: david@schweikert.ch notification_email: david@schweikert.ch
#build_command_prepend: "ci/build-2-install.sh" build_command: "ci/build-3-compile.sh"
build_command: "ci/build-2-install.sh"
branch_pattern: coverity_scan branch_pattern: coverity_scan
install:
- ci/build-1-autotools.sh
- ci/build-2-test-command.sh
- ci/build-3-prepare-macos.sh
script:
- ci/build-4-compile.sh
- ci/run-tests.sh
- ci/deploy-bintray.sh
after_success:
- ci/deploy-coveralls.sh
stages:
- test
- name: deploy
if: branch = master OR branch = v4.x
jobs:
include:
#### STAGE: test
- stage: test
name: test trusty
os: linux
dist: trusty
- name: test xenial
os: linux
dist: xenial
- name: test macos
os: osx
#### STAGE: deploy
- stage: deploy
name: deploy
os: linux
dist: xenial
env:
- DO_DEPLOY=1

@ -1,5 +1,9 @@
#!/bin/bash -e #!/bin/bash -e
if [[ "$OSTYPE" == "darwin"* ]]; then
exit 0
fi
AUTOCONF=http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz AUTOCONF=http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
AUTOMAKE=http://ftp.gnu.org/gnu/automake/automake-1.14.1.tar.gz AUTOMAKE=http://ftp.gnu.org/gnu/automake/automake-1.14.1.tar.gz
LIBTOOL=http://alpha.gnu.org/gnu/libtool/libtool-2.4.2.418.tar.gz LIBTOOL=http://alpha.gnu.org/gnu/libtool/libtool-2.4.2.418.tar.gz

@ -0,0 +1,7 @@
#!/bin/sh
set -ex
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
cpanm --sudo Test::Command

@ -1,13 +0,0 @@
#!/bin/sh
set -x
sudo -H pip install cpp-coveralls
cd src
ls -l
gcov *.o
cd ..
coveralls --exclude ci --exclude src/optparse.c --no-gcov

@ -4,15 +4,8 @@
set -e set -e
# do this only for the gcc run if [ -z "$DO_DEPLOY" ]; then
#if [ "$CC" != "gcc" ]; then echo "skip deploy (\$DO_DEPLOY not set)"
# echo "skipped upload because $CC != gcc"
# exit 0
#fi
# do this only for the master and version3 branch
if [ "$TRAVIS_BRANCH" != "master" -a "$TRAVIS_BRANCH" != "version3" ]; then
echo "skipped upload branch $TRAVIS_BRANCH isn't master/version3"
exit 0 exit 0
fi fi

@ -0,0 +1,6 @@
#!/bin/sh
set -xe
pip install --user cpp-coveralls
coveralls --root src --exclude src/optparse.c --gcov-options '\-lp'

@ -0,0 +1,8 @@
#!/bin/sh
set -ex
PATH=`pwd`/src:$PATH
prove ci/test-*.pl
ci/test-tarball.sh

@ -6,6 +6,11 @@
set -e set -e
set -x set -x
# skip on macos
if [[ "$OSTYPE" == "darwin"* ]]; then
exit 0
fi
make dist make dist
VERSION=$(ls fping-*.tar.gz | sed -e 's/^fping-//' | sed -e 's/\.tar\.gz$//') VERSION=$(ls fping-*.tar.gz | sed -e 's/^fping-//' | sed -e 's/\.tar\.gz$//')
if [ -z "$VERSION" ]; then if [ -z "$VERSION" ]; then

@ -373,7 +373,7 @@ void errno_crash_and_burn(char* message);
char* get_host_by_address(struct in_addr in); char* get_host_by_address(struct in_addr in);
int send_ping(HOST_ENTRY* h, int index); int send_ping(HOST_ENTRY* h, int index);
void usage(int); void usage(int);
int wait_for_reply(long); int wait_for_reply(int64_t);
void print_per_system_stats(void); void print_per_system_stats(void);
void print_per_system_splits(void); void print_per_system_splits(void);
void print_netdata(void); void print_netdata(void);
@ -1273,7 +1273,7 @@ void main_loop()
if (per_recv_flag) { if (per_recv_flag) {
if (timestamp_flag) { if (timestamp_flag) {
printf("[%10.5f] ", (double)current_time_ns / 1e9); printf("[%.5f] ", (double)current_time_ns / 1e9);
} }
printf("%-*s : [%d], timed out", printf("%-*s : [%d], timed out",
max_hostname_len, h->host, event->ping_index); max_hostname_len, h->host, event->ping_index);
@ -2384,7 +2384,7 @@ int wait_for_reply(int64_t wait_time)
/* print received ping (unless --quiet) */ /* print received ping (unless --quiet) */
if (per_recv_flag) { if (per_recv_flag) {
if (timestamp_flag) { if (timestamp_flag) {
printf("[%10.5f] ", (double)recv_time / 1e9); printf("[%.5f] ", (double)recv_time / 1e9);
} }
avg = h->total_time / h->num_recv; avg = h->total_time / h->num_recv;
printf("%-*s : [%d], %d bytes, %s ms", printf("%-*s : [%d], %d bytes, %s ms",

Loading…
Cancel
Save