#!/usr/bin/env python3 """Send qvac.setEnabled over native messaging and fail on INVALID_VERSION.""" import json import os import struct import subprocess import sys import threading import time def main(): binpath = sys.argv[1] env = os.environ.copy() env.setdefault('BRIDGE_SWARM_STORAGE', '/tmp/bs-qvac-packed-selftest') proc = subprocess.Popen( [binpath], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env, ) err_chunks = [] def pump_err(): while True: line = proc.stderr.readline() if not line: break err_chunks.append(line) sys.stderr.buffer.write(line) sys.stderr.flush() threading.Thread(target=pump_err, daemon=True).start() time.sleep(1.5) msg = json.dumps( { 'id': 1, 'type': 'capability', 'payload': { 'pack': 'qvac', 'cmd': 'setEnabled', 'payload': {'enabled': True}, }, } ).encode() proc.stdin.write(struct.pack('