blob: f7c601067c5c65e45cc7c35fcbb226dc85e07d3d [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 Lundblade74f68412018-09-13 12:18:49 -070015
Laurence Lundbladea954db92018-09-28 19:27:31 -070016
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080017/*
18 This is an implementation of OutputStringCB built using stdio. If
Laurence Lundbladea3fd49f2019-01-21 10:16:22 -080019 you don't have stdio, replaces this.
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080020 */
Laurence Lundbladed396f622019-01-12 17:12:29 -080021static void fputs_wrapper(const char *szString, void *pOutCtx, int bNewLine)
Laurence Lundbladecc2ed342018-09-22 17:29:55 -070022{
Laurence Lundbladed396f622019-01-12 17:12:29 -080023 fputs(szString, (FILE *)pOutCtx);
24 if(bNewLine) {
25 fputs("\n", pOutCtx);
26 }
Laurence Lundblade8ca13692018-12-04 14:35:53 +090027}
28
29
Laurence Lundblade570fab52018-10-13 18:28:27 +080030int main(int argc, const char * argv[])
31{
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080032 (void)argc; // Avoid unused parameter error
Laurence Lundbladea44d5062018-10-17 18:45:12 +053033
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080034 // This call prints out sizes of data structures to remind us
35 // to keep them small.
Laurence Lundblade29501b72020-01-16 15:05:18 -080036 PrintSizesQCBOR(&fputs_wrapper, stdout);
Laurence Lundblade3aee3a32018-12-17 16:17:45 -080037
Laurence Lundblade1f8b5b02019-01-01 22:27:38 -080038 // This runs all the tests
Laurence Lundblade29501b72020-01-16 15:05:18 -080039 return RunTestsQCBOR(argv+1, &fputs_wrapper, stdout, NULL);
Laurence Lundblade74f68412018-09-13 12:18:49 -070040}