github.com/crowdsecurity/crowdsec@v1.6.1/test/bats-detect/lib/setup_file_detect.sh (about) 1 #!/usr/bin/env bash 2 3 TESTDATA="${BATS_TEST_DIRNAME}/testdata" 4 export TESTDATA 5 6 CACHEDIR="${TESTDATA}/.cache" 7 export CACHEDIR 8 9 mkdir -p "${CACHEDIR}" 10 11 DEBIAN_FRONTEND=noninteractive 12 export DEBIAN_FRONTEND 13 14 # avoid warnings in stderr, especially from perl modules 15 LC_ALL=C 16 export LC_ALL 17 18 deb-install() { 19 # use aptitude to reliably purge dependencies too 20 sudo aptitude install "$@" -yq >/dev/null 21 # this does not work well enough 22 # sudo apt-get -qq -y -o Dpkg:Use-Pty=0 install "$@" >/dev/null 23 # sudo apt-mark auto "$@" 24 } 25 export -f deb-install 26 27 deb-update() { 28 sudo apt-get -qq -y -o Dpkg:Use-Pty=0 update 29 } 30 export -f deb-update 31 32 deb-remove() { 33 for pkg in "$@"; do 34 if dpkg -s "${pkg}" >/dev/null 2>&1; then 35 # use aptitude to reliably purge dependencies too 36 sudo aptitude purge "${pkg}" -yq >/dev/null 37 # this does not work well enough 38 # sudo apt-get -qq -y purge --auto-remove "${pkg}" >/dev/null 39 fi 40 done 41 } 42 export -f deb-remove 43 44 rpm-install() { 45 sudo dnf -q -y install "$@" 46 } 47 export -f rpm-install 48 49 rpm-remove() { 50 # don't fail if dnf does not exist (teardown is called on deb distros too) 51 if command -v dnf >/dev/null; then 52 sudo dnf -q -y remove "$@" >/dev/null 53 fi 54 } 55 export -f rpm-remove 56 57 export CROWDSEC_FEATURE_CSCLI_SETUP="true"