Files
Alexandru Ardelean a56b754b01 python-protobuf: add test script
Add a CI test.sh that imports google.protobuf and round-trips the
Timestamp and Struct well-known types through SerializeToString and
ParseFromString, covering the descriptor pool, encoder and decoder
without needing a compiled .proto. Modelled on python-rpds-py's test.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-08-09 20:00:40 +03:00

25 lines
735 B
Bash
Executable File

#!/bin/sh
[ "$1" = python3-protobuf ] || exit 0
python3 - << 'EOF'
from google.protobuf import struct_pb2, timestamp_pb2
# Well-known types exercise the descriptor pool, encoder and decoder without
# needing a compiled .proto: serialize a scalar message and a map-backed one,
# then parse the bytes back and confirm the fields survive the round-trip.
ts = timestamp_pb2.Timestamp(seconds=1710000000, nanos=123)
back = timestamp_pb2.Timestamp()
back.ParseFromString(ts.SerializeToString())
assert back.seconds == 1710000000 and back.nanos == 123
s = struct_pb2.Struct()
s["name"] = "openwrt"
s["count"] = 3
s2 = struct_pb2.Struct()
s2.ParseFromString(s.SerializeToString())
assert s2["name"] == "openwrt" and s2["count"] == 3
EOF