#!/bin/bash set -euo pipefail ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd) TMP=$(mktemp -d) trap 'rm -rf "$TMP"' EXIT USER_NAME=$(id -un) cat > "$TMP/primary.conf" < "$TMP/fallback.conf" < "$PIVILION_DIR/mode" [ "$(pivilion_current_mode)" = hotspot ] cat > "$PIVILION_STATE_FILE" < "$PIVILION_SELECTED_MODE_FILE" [ "$(pivilion_selected_mode)" = hotspot ] printf 'onion\n' > "$PIVILION_SELECTED_MODE_FILE" [ "$(pivilion_selected_mode)" = onion ] printf 'invalid\n' > "$PIVILION_SELECTED_MODE_FILE" if pivilion_selected_mode >/dev/null 2>&1; then exit 1; fi pivilion_print_issue > "$TMP/pivilion.issue" grep -Fqx 'My IP address is \4{wlan-test}' "$TMP/pivilion.issue" grep -q '^Welcome to Pivilion!$' "$TMP/pivilion.issue" grep -q '^@@@@@@@@@@@@@@@@@@@' "$TMP/pivilion.issue" mkdir "$TMP/bin" cat > "$TMP/bin/nmcli" <<'EOF' #!/bin/sh exit 0 EOF cat > "$TMP/bin/systemctl" <<'EOF' #!/bin/sh [ "${MOCK_NM_ACTIVE:-0}" = 1 ] EOF chmod +x "$TMP/bin/nmcli" "$TMP/bin/systemctl" PATH="$TMP/bin:$PATH" MOCK_NM_ACTIVE=1 pivilion_uses_networkmanager if PATH="$TMP/bin:$PATH" MOCK_NM_ACTIVE=0 pivilion_uses_networkmanager; then exit 1; fi sed 's/PIVILION_MODE=hotspot/PIVILION_MODE=invalid/' "$TMP/primary.conf" > "$TMP/invalid.conf" PIVILION_CONFIG_PATHS="$TMP/invalid.conf $TMP/fallback.conf" export PIVILION_CONFIG_PATHS if pivilion_load_config >/dev/null 2>&1; then exit 1; fi