sec-2853.c revision 290000
155714Skris#include <config.h> 255714Skris 355714Skris#include <rc_cmdlength.h> 455714Skris 555714Skris#include "unity.h" 655714Skris 755714Skrisvoid setUp(void); 8280304Sjkimvoid tearDown(void); 955714Skris 1055714Skrisvoid test_main( void ); 1155714Skrisint basic_good( void ); 1255714Skrisint embedded_nul( void ); 1355714Skrisint trailing_space( void ); 1455714Skris 15280304Sjkimstatic int verbose = 1; // if not 0, also print results if test passed 1655714Skrisstatic int exit_on_err = 0; // if not 0, exit if test failed 1755714Skris 1855714Skris 1955714Skrisvoid setUp(void) 2055714Skris{ 2155714Skris} 22280304Sjkim 2355714Skris 2455714Skrisvoid tearDown(void) 2555714Skris{ 2655714Skris} 2755714Skris 2855714Skris 2955714Skris/* 3055714Skris * Test function calling the remote config buffer checker 3155714Skris * http://bugs.ntp.org/show_bug.cgi?id=2853 3255714Skris * 3355714Skris * size_t remoteconfig_cmdlength(const char *src_buf, const char *src_end) 3455714Skris * - trims whitespace & garbage from the right 3555714Skris * then looks for only \tSP-\127 starting from the left. 3655714Skris * It returns the number of "good" characters it found. 37280304Sjkim */ 3855714Skris 3955714Skris 40280304Sjkimvoid test_main( void ) 4155714Skris{ 4255714Skris TEST_ASSERT_EQUAL(0, basic_good()); 4355714Skris TEST_ASSERT_EQUAL(0, embedded_nul()); 4455714Skris TEST_ASSERT_EQUAL(0, trailing_space()); 4555714Skris} 4655714Skris 4755714Skris 4855714Skrisint basic_good( void ) 4955714Skris{ 5055714Skris const char string[] = "good"; 5155714Skris const char *EOstring; 52280304Sjkim char *cp; 5355714Skris size_t len; 5455714Skris int failed; 5555714Skris 5655714Skris EOstring = string + sizeof string; 5755714Skris 5855714Skris len = remoteconfig_cmdlength(string, EOstring); 59280304Sjkim 60280304Sjkim failed = ( 4 != len ); 61280304Sjkim 62280304Sjkim if ( failed || verbose ) 6355714Skris printf( "remoteconfig_cmdlength(\"%s\") returned %d, expected %d: %s\n", 6455714Skris string, 6555714Skris len, 66280304Sjkim 4, 6755714Skris failed ? "NO <<" : "yes" ); 68280304Sjkim 69280304Sjkim return failed ? -1 : 0; 70280304Sjkim} 71280304Sjkim 72280304Sjkim 73280304Sjkimint embedded_nul( void ) 74280304Sjkim{ 75280304Sjkim const char string[] = "nul\0 there"; 76280304Sjkim const char *EOstring; 77280304Sjkim char *cp; 78280304Sjkim size_t len; 79280304Sjkim int failed; 80160814Ssimon 81280304Sjkim EOstring = string + sizeof string; 82280304Sjkim 83280304Sjkim len = remoteconfig_cmdlength(string, EOstring); 84280304Sjkim 85160814Ssimon failed = ( 3 != len ); 86280304Sjkim 87280304Sjkim if ( failed || verbose ) 88280304Sjkim printf( "remoteconfig_cmdlength(\"%s\") returned %d, expected %d: %s\n", 89280304Sjkim string, 90280304Sjkim len, 9155714Skris 3, 92280304Sjkim failed ? "NO <<" : "yes" ); 93280304Sjkim 94280304Sjkim return failed ? -1 : 0; 95194206Ssimon} 96280304Sjkim 9755714Skris 9868651Skrisint trailing_space( void ) 9968651Skris{ 10068651Skris const char string[] = "trailing space "; 10168651Skris const char *EOstring; 10268651Skris char *cp; 10355714Skris size_t len; 10455714Skris int failed; 105280304Sjkim 106280304Sjkim EOstring = string + sizeof string; 107280304Sjkim 108280304Sjkim len = remoteconfig_cmdlength(string, EOstring); 109280304Sjkim 110280304Sjkim failed = ( 14 != len ); 111280304Sjkim 112280304Sjkim if ( failed || verbose ) 113280304Sjkim printf( "remoteconfig_cmdlength(\"%s\") returned %d, expected %d: %s\n", 114280304Sjkim string, 115280304Sjkim len, 116280304Sjkim 14, 11755714Skris failed ? "NO <<" : "yes" ); 118291721Sjkim 119280304Sjkim return failed ? -1 : 0; 120280304Sjkim} 12155714Skris