#!/bin/sh set -e skip() { echo "skip $1: $2"; } if command -v go >/dev/null 2>&1; then (cd sdk/go && test -z "$(gofmt -l .)" && go vet ./... && go test ./...) else skip sdk/go "no go" fi if command -v node >/dev/null 2>&1 && [ -d sdk/js/node_modules ]; then (cd sdk/js && npx --no-install tsc --noEmit && npx --no-install vitest run) else skip sdk/js "no node or node_modules" fi if command -v python3 >/dev/null 2>&1; then PY=python3 elif command -v python >/dev/null 2>&1; then PY=python else PY= fi if [ -n "$PY" ]; then if PYTHONPATH=sdk/python/src "$PY" -c "import paho.mqtt.client" >/dev/null 2>&1; then PYTHONPATH=sdk/python/src "$PY" -m unittest discover -s sdk/python/tests -t sdk/python else skip sdk/python "no paho-mqtt" fi else skip sdk/python "no python" fi if command -v mvn >/dev/null 2>&1; then (cd sdk/java && mvn -q test) else skip sdk/java "no mvn" fi