blob: ef59e43170717a5fdc3fe9c5485cb2a3dab280d2 [file] [log] [blame]
Laurence Lundbladed92a6162018-11-01 11:38:35 +07001/*==============================================================================
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -08002 cmd_line_mainc.c -- Runs tests for QCBOR encoder / decoder
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -08003
Laurence Lundbladeee851742020-01-08 08:37:05 -08004 Copyright (c) 2018-2020, Laurence Lundblade. All rights reserved.
Laurence Lundblade035bd782019-01-21 17:01:31 -08005
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -08006 SPDX-License-Identifier: BSD-3-Clause
Laurence Lundblade035bd782019-01-21 17:01:31 -08007
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -08008 See BSD-3-Clause license in README.md
Laurence Lundblade035bd782019-01-21 17:01:31 -08009
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -080010 Created on 9/13/18
Laurence Lundbladeee851742020-01-08 08:37:05 -080011 =============================================================================*/
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080012
Laurence Lundblade74f68412018-09-13 12:18:49 -070013#include <stdio.h>
Laurence Lundblade781fd822018-10-01 09:37:52 -070014#include "run_tests.h"
Laurence Lundbladed4cd7232020-07-03 19:30:48 -070015#include "example.h"
Laurence Lundblade74f68412018-09-13 12:18:49 -070016
Laurence Lundbladea954db92018-09-28 19:27:31 -070017
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080018/*
19 This is an implementation of OutputStringCB built using stdio. If
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -080020 you don't have stdio, replaces this.
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080021 */
Laurence Lundbladed396f622019-01-12 17:12:29 -080022static void fputs_wrapper(const char *szString, void *pOutCtx, int bNewLine)
Laurence Lundbladecc2ed342018-09-22 17:29:55 -070023{
Laurence Lundbladed396f622019-01-12 17:12:29 -080024 fputs(szString, (FILE *)pOutCtx);
25 if(bNewLine) {
26 fputs("\n", pOutCtx);
27 }
Laurence Lundblade8ca13692018-12-04 14:35:53 +090028}
29
30
Laurence Lundblade570fab52018-10-13 18:28:27 +080031int main(int argc, const char * argv[])
32{
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080033 (void)argc; // Avoid unused parameter error
Laurence Lundbladea44d5062018-10-17 18:45:12 +053034
Laurence Lundblade323f8a92020-09-06 19:43:09 -070035 RunQCborExample();
Laurence Lundbladed4cd7232020-07-03 19:30:48 -070036
37
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080038 // This call prints out sizes of data structures to remind us
39 // to keep them small.
Laurence Lundblade29501b72020-01-16 15:05:18 -080040 PrintSizesQCBOR(&fputs_wrapper, stdout);
Laurence Lundblade3aee3a32018-12-17 16:17:45 -080041
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080042 // This runs all the tests
Laurence Lundblade29501b72020-01-16 15:05:18 -080043 return RunTestsQCBOR(argv+1, &fputs_wrapper, stdout, NULL);
Laurence Lundblade74f68412018-09-13 12:18:49 -070044}