pebble/tests/fw/services/protobuf_log/protobuf_log_test_helpers.c
2025-01-27 11:38:16 -08:00

37 lines
1.3 KiB
C

/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "protobuf_log_test_helpers.h"
#include "services/normal/protobuf_log/protobuf_log_private.h"
#include <stdint.h>
#include <stdio.h>
#define TMP_FILE "tmp_protoc_bytes"
#define TINTIN_PATH "/Users/thoffman/dev/tintin"
#define PROTO_PATH "/src/idl/nanopb"
#define PROTOC_PATH "/usr/local/bin/protoc"
void protobuf_log_test_parse_protoc(uint8_t *msg) {
PLogMessageHdr *hdr = (PLogMessageHdr *)msg;
FILE *file = fopen(TMP_FILE, "wb");
fwrite(msg + sizeof(*hdr), 1, hdr->msg_size, file);
fclose(file);
system(PROTOC_PATH" --proto_path="TINTIN_PATH""PROTO_PATH" --decode=pebble.pipeline.Payload "
""TINTIN_PATH""PROTO_PATH"/payload.proto < "TMP_FILE" 2>&1");
}