Mercurial > crates > nonstick
comparison testharness/install-test-harness.sh @ 164:d0bba0117456
make test script more cross platform?
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Mon, 14 Jul 2025 18:12:14 -0400 |
parents | a75a66cb4181 |
children | c4b1e280463c |
comparison
equal
deleted
inserted
replaced
163:a75a66cb4181 | 164:d0bba0117456 |
---|---|
1 #!/bin/bash | 1 #!/bin/sh |
2 | 2 |
3 set -eo pipefail | 3 set -exo pipefail |
4 | |
5 LINUX_BSD_CONF="/etc/pam.d/nonstick-testharness" | |
6 | |
7 pam_library_path() { | |
8 case "$(uname -s)" in | |
9 "Linux" | "SunOS") | |
10 echo "/usr/lib/security" | |
11 ;; | |
12 *BSD) | |
13 echo "/usr/lib" | |
14 ;; | |
15 *) | |
16 echo "UNKNOWN OS!!!" | |
17 return 1 | |
18 ;; | |
19 esac | |
20 } | |
21 | |
22 setup_pam_conf() { | |
23 case "$(uname -s)" in | |
24 "Linux" | *BSD) | |
25 sudo cp nonstick_testharness.conf "$LINUX_BSD_CONF" | |
26 ;; | |
27 "SunOS") | |
28 sudo cp /etc/pam.conf /etc/pam.conf.bak | |
29 sed 's/^\([^#]\)/nonstick-testharness \1/' <./nonstick_testharness.conf \ | |
30 | sudo tee -a /etc/pam.conf >/dev/null | |
31 ;; | |
32 *) | |
33 echo "UNKNOWN OS!!!" | |
34 return 1 | |
35 ;; | |
36 esac | |
37 } | |
38 cleanup_pam_conf() { | |
39 case "$(uname -s)" in | |
40 "Linux" | *BSD) | |
41 sudo rm "$LINUX_BSD_CONF" | |
42 ;; | |
43 "SunOS") | |
44 sudo mv /etc/pam.conf.bak /etc/pam.conf | |
45 ;; | |
46 esac | |
47 } | |
4 | 48 |
5 HERE="$(dirname -- "$0")" | 49 HERE="$(dirname -- "$0")" |
6 echo "$HERE" | 50 cd "$HERE" |
7 cargo build --release | 51 cargo build --release |
52 PAM_LIBRARY="$(pam_library_path)/pam_testharness.so" | |
8 | 53 |
9 sudo mkdir -p /lib/security | 54 cleanup() { |
10 sudo cp ../target/release/libnonstick_testharness.so /lib/security/pam_testharness.so | 55 sudo rm "$PAM_LIBRARY" |
11 sudo cp nonstick_testharness.conf /etc/pam.d/nonstick-testharness | 56 cleanup_pam_conf |
12 trap 'sudo rm /etc/pam.d/nonstick-testharness; sudo rm /lib/security/pam_testharness.so' EXIT | 57 } |
58 | |
59 sudo cp ../target/release/libnonstick_testharness.so "$PAM_LIBRARY" | |
60 setup_pam_conf | |
61 trap cleanup EXIT | |
13 "$@" && echo "SUCCESS!!!" || echo "FAILURE: $?" | 62 "$@" && echo "SUCCESS!!!" || echo "FAILURE: $?" |