diff --git a/lib/src/clixon_yang_parse.l b/lib/src/clixon_yang_parse.l index 8a200683..60dfd9db 100644 --- a/lib/src/clixon_yang_parse.l +++ b/lib/src/clixon_yang_parse.l @@ -108,12 +108,12 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]* %% /* Common tokens */ -[ \t] +[ \t]+ <> { return MY_EOF; } \n { _YY->yy_linenum++; } \r -"/*" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT1); } -"//" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT2); } +"/*" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT1); } +"//" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT2); } input { return K_INPUT; } /* No argument */ @@ -215,7 +215,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]* ; { BEGIN(KEYWORD); return *yytext; } \{ { BEGIN(KEYWORD); return *yytext; } [ \t\n]+ { BEGIN(UNKNOWN2); return WS; /* mandatory sep for string */ } -[^{"';: \t\n]+ { clixon_yang_parselval.string = strdup(yytext); +[^{"';: \t\n\r]+ { clixon_yang_parselval.string = strdup(yytext); return CHARS; } ; { BEGIN(KEYWORD); return *yytext; } @@ -223,7 +223,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]* \' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; } \{ { BEGIN(KEYWORD); return *yytext; } [ \t\n]+ { return WS; } -[^{"'; \t\n]+ { clixon_yang_parselval.string = strdup(yytext); +[^{"'; \t\n\r]+ { clixon_yang_parselval.string = strdup(yytext); return CHARS; } true { clixon_yang_parselval.string = strdup(yytext); @@ -252,7 +252,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]* \" { _YY->yy_lex_string_state =STRING; BEGIN(STRINGDQ); return *yytext; } \' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; } \+ { return *yytext; } -[^\"\'\+\{\;\n \t]+ { clixon_yang_parselval.string = strdup(yytext); /* XXX [.]+ */ +[^\"\'\+\{\;\n \t\r]+ { clixon_yang_parselval.string = strdup(yytext); /* XXX [.]+ */ return CHARS;} \\ { _YY->yy_lex_state = STRINGDQ; BEGIN(DQESC); } diff --git a/test/lib.sh b/test/lib.sh index 767dfe93..e2542008 100755 --- a/test/lib.sh +++ b/test/lib.sh @@ -442,7 +442,7 @@ function wait_restconf(){ hdr=$(curl $CURLOPTS $myproto://localhost/restconf 2> /dev/null) # echo "hdr:\"$hdr\"" let i=0; - while [[ $hdr != *"200"* ]]; do + while [[ "$hdr" != *"200"* ]]; do # echo "wait_restconf $i" if [ $i -ge $DEMLOOP ]; then err1 "restconf timeout $DEMWAIT seconds" diff --git a/test/test_helloworld.sh b/test/test_helloworld.sh index fb0d39e9..dbdb0573 100755 --- a/test/test_helloworld.sh +++ b/test/test_helloworld.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # Hello world smoketest test # A minimal test for backend/cli/netconf/restconf # See clixon-example/hello diff --git a/test/test_yang_models_ieee.sh b/test/test_yang_models_ieee.sh index 4a95cabd..d8390bf7 100755 --- a/test/test_yang_models_ieee.sh +++ b/test/test_yang_models_ieee.sh @@ -24,10 +24,9 @@ cat < $cfg ni-ieee1588-ptp:cmlds ${YANG_INSTALLDIR} ${YANG_STANDARD_DIR}/ietf/RFC - ${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcr - ${YANG_STANDARD_DIR}/ieee/draft/802 - ${YANG_STANDARD_DIR}/ieee/published/802.1 - ${YANG_STANDARD_DIR}/ieee/published/802 + + ${YANG_STANDARD_DIR}/ieee/published /usr/local/lib/$APPNAME/clispec /usr/local/lib/$APPNAME/cli $APPNAME @@ -39,36 +38,18 @@ EOF new "yangmodels parse: -f $cfg" -if false; then # Only standard since ${YANG_STANDARD_DIR} points to that - new "yangmodel Experimental IEEE 802.1: $YANGMODELS/experimental/ieee/802.1" - expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/experimental/ieee/802.1 -p $YANGMODELS/experimental/ieee/1588 show version)" 0 "${CLIXON_VERSION}" +# Publishged IEEE YANGs +# 1906.1 something w spaces +for d in 802 802.1 802.3; do + new "Published IEEE Yangs: ${YANG_STANDARD_DIR}/ieee/published/$d" + expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/published/$d show version)" 0 "${CLIXON_VERSION}" +done - new "yangmodel Experimental IEEE 1588: $YANGMODELS/experimental/ieee/1588" - expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/experimental/ieee/1588 show version)" 0 "${CLIXON_VERSION}" -fi - -# Standard IEEE -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/draft/802.1/ABcu" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/draft/802.1/ABcu show version)" 0 "${CLIXON_VERSION}" - -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcr" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcr show version)" 0 "${CLIXON_VERSION}" - -new "yangmodel Standard IEEE 802.1: $YANGMODELS/standard/ieee/draft/802.1/Qcw" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcw show version)" 0 "${CLIXON_VERSION}" - -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcx" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcx -p $YANGMODELS/standard/ieee/draft/802.1/ABcu show version)" 0 "${CLIXON_VERSION}" - -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/draft/802.1/x" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/draft/802.1/x show version)" 0 "${CLIXON_VERSION}" - -# Published -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/published/802.1" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/published/802.1 show version)" 0 "${CLIXON_VERSION}" - -new "yangmodel Standard IEEE 802.1: ${YANG_STANDARD_DIR}/ieee/published/802.3" -expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/published/802.3 show version)" 0 "${CLIXON_VERSION}" +# Draft IEEE YANGs +for d in 1588 802.1/ABcu 802.1/AEdk 802.1/CBcv 802.1/CBdb 802.1/Qcw 802.1/Qcz 802.1/QRev ; do + new "Draft IEEE Yangs: ${YANG_STANDARD_DIR}/ieee/draft/$d" + expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=${YANG_STANDARD_DIR}/ieee/published/$d show version)" 0 "${CLIXON_VERSION}" +done rm -rf $dir diff --git a/test/test_yang_models_ietf.sh b/test/test_yang_models_ietf.sh index 8a3fca62..8d08f1bc 100755 --- a/test/test_yang_models_ietf.sh +++ b/test/test_yang_models_ietf.sh @@ -25,7 +25,7 @@ cat < $cfg ietf-te-topology:te-topology-hierarchy ietf-te-types:path-optimization-metric ${YANG_INSTALLDIR} - ${YANG_STANDARD_DIR}/ieee/published/802.1 + ${YANG_STANDARD_DIR}/ieee/published ${YANG_STANDARD_DIR}/ietf/RFC true /usr/local/lib/$APPNAME/clispec