packages feed

ble-0.4.0.0: test/Mock/start_mock.sh

#!/bin/bash

set -o errexit

# This script registers a mock service with DBus. The service contains one
# characteristic.


SERVICE_UUID=4ea7235c-8d49-4a6f-abe6-1883218a93a7
CHARACTERISTIC_UUID=6fe4afc7-ebf8-4369-90aa-0fe45064e3f9
CHARACTERISTIC_VALUE=3
LOG_TO=${BLE_TEST_LOG_FILE:-/dev/null}


while getopts l: opt; do
    case $opt in
        l) LOG_TO=$OPTARG ;;
        \?) printf "Invalid option: %s" "$OPTARG" ;;
    esac
done

# echo "Logging to $LOG_TO"

python3 -m dbusmock --system org.bluez.Mock / org.bluez \
   >> "$LOG_TO" 2>&1 &

sleep 5
trap 'kill $(jobs -p)' EXIT

gdbus call --system -d org.bluez.Mock -o / \
  -m org.freedesktop.DBus.Mock.AddTemplate 'bluez5' '{}' \
  >> "$LOG_TO" 2>&1

gdbus call --system -d org.bluez.Mock -o / \
  -m org.bluez.Mock.AddAdapter \
  'hci0' \
  'computer' >> "$LOG_TO" 2>&1

gdbus call --system -d org.bluez.Mock -o / \
  -m org.bluez.Mock.AddDevice \
  'hci0' \
  '11:22:33:44:55:66' \
  'Test Device' >> "$LOG_TO" 2>&1

gdbus call --system -d org.bluez.Mock -o / \
  -m org.bluez.Mock.AddGATTService \
  '/org/bluez/hci0' \
  '1' \
  "$SERVICE_UUID" \
  'true' >> "$LOG_TO" 2>&1

gdbus call --system -d org.bluez.Mock -o / \
  -m org.bluez.Mock.AddGATTCharacteristic \
  "/org/bluez/hci0/service0001" \
  '1' \
  "$CHARACTERISTIC_UUID" \
  '["read", "write"]' \
  "$CHARACTERISTIC_VALUE" \
  'false' >> "$LOG_TO" 2>&1

printf "ready\n"

sleep 100000