- test: IEEE yang models directory structure changed, ietf+ieee tests modified

- yang parse minor lex edits: added comments and \r in some rules
This commit is contained in:
Olof hagsand 2022-02-08 12:03:47 +01:00
parent a96610f300
commit 0ed34b4fab
5 changed files with 23 additions and 42 deletions

View file

@ -108,12 +108,12 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]*
%% %%
/* Common tokens */ /* Common tokens */
<KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING>[ \t] <KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING>[ \t]+
<KEYWORD,DEVIATE,DEVIATESTR,STRING,UNKNOWN,UNKNOWN2,COMMENT2><<EOF>> { return MY_EOF; } <KEYWORD,DEVIATE,DEVIATESTR,STRING,UNKNOWN,UNKNOWN2,COMMENT2><<EOF>> { return MY_EOF; }
<KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING,COMMENT1,UNKNOWN,UNKNOWN2>\n { _YY->yy_linenum++; } <KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING,COMMENT1,UNKNOWN,UNKNOWN2>\n { _YY->yy_linenum++; }
<KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING,COMMENT1,UNKNOWN,UNKNOWN2>\r <KEYWORD,DEVIATE,DEVIATESTR,BOOLEAN,INTEGER,STRARG,STRING,COMMENT1,UNKNOWN,UNKNOWN2>\r
<KEYWORD,DEVIATE,DEVIATESTR,STRING,UNKNOWN,UNKNOWN2>"/*" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT1); } <KEYWORD,DEVIATE,DEVIATESTR,STRARG,STRING,UNKNOWN,UNKNOWN2>"/*" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT1); }
<KEYWORD,DEVIATE,DEVIATESTR,STRING,UNKNOWN,UNKNOWN2>"//" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT2); } <KEYWORD,DEVIATE,DEVIATESTR,STRARG,STRING,UNKNOWN,UNKNOWN2>"//" { _YY->yy_lex_state = YYSTATE; BEGIN(COMMENT2); }
<KEYWORD>input { return K_INPUT; } /* No argument */ <KEYWORD>input { return K_INPUT; } /* No argument */
@ -215,7 +215,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]*
<UNKNOWN>; { BEGIN(KEYWORD); return *yytext; } <UNKNOWN>; { BEGIN(KEYWORD); return *yytext; }
<UNKNOWN>\{ { BEGIN(KEYWORD); return *yytext; } <UNKNOWN>\{ { BEGIN(KEYWORD); return *yytext; }
<UNKNOWN>[ \t\n]+ { BEGIN(UNKNOWN2); return WS; /* mandatory sep for string */ } <UNKNOWN>[ \t\n]+ { BEGIN(UNKNOWN2); return WS; /* mandatory sep for string */ }
<UNKNOWN>[^{"';: \t\n]+ { clixon_yang_parselval.string = strdup(yytext); <UNKNOWN>[^{"';: \t\n\r]+ { clixon_yang_parselval.string = strdup(yytext);
return CHARS; } return CHARS; }
<UNKNOWN2>; { BEGIN(KEYWORD); return *yytext; } <UNKNOWN2>; { BEGIN(KEYWORD); return *yytext; }
@ -223,7 +223,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]*
<UNKNOWN2>\' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; } <UNKNOWN2>\' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; }
<UNKNOWN2>\{ { BEGIN(KEYWORD); return *yytext; } <UNKNOWN2>\{ { BEGIN(KEYWORD); return *yytext; }
<UNKNOWN2>[ \t\n]+ { return WS; } <UNKNOWN2>[ \t\n]+ { return WS; }
<UNKNOWN2>[^{"'; \t\n]+ { clixon_yang_parselval.string = strdup(yytext); <UNKNOWN2>[^{"'; \t\n\r]+ { clixon_yang_parselval.string = strdup(yytext);
return CHARS; } return CHARS; }
<BOOLEAN>true { clixon_yang_parselval.string = strdup(yytext); <BOOLEAN>true { clixon_yang_parselval.string = strdup(yytext);
@ -252,7 +252,7 @@ identifier [A-Za-z_][A-Za-z0-9_\-\.]*
<STRING>\" { _YY->yy_lex_string_state =STRING; BEGIN(STRINGDQ); return *yytext; } <STRING>\" { _YY->yy_lex_string_state =STRING; BEGIN(STRINGDQ); return *yytext; }
<STRING>\' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; } <STRING>\' { _YY->yy_lex_string_state =STRING; BEGIN(STRINGSQ); return *yytext; }
<STRING>\+ { return *yytext; } <STRING>\+ { return *yytext; }
<STRING>[^\"\'\+\{\;\n \t]+ { clixon_yang_parselval.string = strdup(yytext); /* XXX [.]+ */ <STRING>[^\"\'\+\{\;\n \t\r]+ { clixon_yang_parselval.string = strdup(yytext); /* XXX [.]+ */
return CHARS;} return CHARS;}
<STRINGDQ>\\ { _YY->yy_lex_state = STRINGDQ; BEGIN(DQESC); } <STRINGDQ>\\ { _YY->yy_lex_state = STRINGDQ; BEGIN(DQESC); }

View file

@ -442,7 +442,7 @@ function wait_restconf(){
hdr=$(curl $CURLOPTS $myproto://localhost/restconf 2> /dev/null) hdr=$(curl $CURLOPTS $myproto://localhost/restconf 2> /dev/null)
# echo "hdr:\"$hdr\"" # echo "hdr:\"$hdr\""
let i=0; let i=0;
while [[ $hdr != *"200"* ]]; do while [[ "$hdr" != *"200"* ]]; do
# echo "wait_restconf $i" # echo "wait_restconf $i"
if [ $i -ge $DEMLOOP ]; then if [ $i -ge $DEMLOOP ]; then
err1 "restconf timeout $DEMWAIT seconds" err1 "restconf timeout $DEMWAIT seconds"

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/usr/bin/env bash
# Hello world smoketest test # Hello world smoketest test
# A minimal test for backend/cli/netconf/restconf # A minimal test for backend/cli/netconf/restconf
# See clixon-example/hello # See clixon-example/hello

View file

@ -24,10 +24,9 @@ cat <<EOF > $cfg
<CLICON_FEATURE>ni-ieee1588-ptp:cmlds</CLICON_FEATURE> <CLICON_FEATURE>ni-ieee1588-ptp:cmlds</CLICON_FEATURE>
<CLICON_YANG_DIR>${YANG_INSTALLDIR}</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_INSTALLDIR}</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ietf/RFC</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ietf/RFC</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcr</CLICON_YANG_DIR> <!--CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/draft/802.1/Qcr</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/draft/802</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/draft/802</CLICON_YANG_DIR-->
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published/802.1</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published/802</CLICON_YANG_DIR>
<CLICON_CLISPEC_DIR>/usr/local/lib/$APPNAME/clispec</CLICON_CLISPEC_DIR> <CLICON_CLISPEC_DIR>/usr/local/lib/$APPNAME/clispec</CLICON_CLISPEC_DIR>
<CLICON_CLI_DIR>/usr/local/lib/$APPNAME/cli</CLICON_CLI_DIR> <CLICON_CLI_DIR>/usr/local/lib/$APPNAME/cli</CLICON_CLI_DIR>
<CLICON_CLI_MODE>$APPNAME</CLICON_CLI_MODE> <CLICON_CLI_MODE>$APPNAME</CLICON_CLI_MODE>
@ -39,36 +38,18 @@ EOF
new "yangmodels parse: -f $cfg" new "yangmodels parse: -f $cfg"
if false; then # Only standard since ${YANG_STANDARD_DIR} points to that # Publishged IEEE YANGs
new "yangmodel Experimental IEEE 802.1: $YANGMODELS/experimental/ieee/802.1" # 1906.1 something w spaces
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}" 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" # Draft IEEE YANGs
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/experimental/ieee/1588 show version)" 0 "${CLIXON_VERSION}" 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
fi 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}"
# Standard IEEE done
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}"
rm -rf $dir rm -rf $dir

View file

@ -25,7 +25,7 @@ cat <<EOF > $cfg
<CLICON_FEATURE>ietf-te-topology:te-topology-hierarchy</CLICON_FEATURE> <CLICON_FEATURE>ietf-te-topology:te-topology-hierarchy</CLICON_FEATURE>
<CLICON_FEATURE>ietf-te-types:path-optimization-metric</CLICON_FEATURE> <CLICON_FEATURE>ietf-te-types:path-optimization-metric</CLICON_FEATURE>
<CLICON_YANG_DIR>${YANG_INSTALLDIR}</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_INSTALLDIR}</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published/802.1</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published</CLICON_YANG_DIR>
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ietf/RFC</CLICON_YANG_DIR> <CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ietf/RFC</CLICON_YANG_DIR>
<CLICON_YANG_AUGMENT_ACCEPT_BROKEN>true</CLICON_YANG_AUGMENT_ACCEPT_BROKEN> <CLICON_YANG_AUGMENT_ACCEPT_BROKEN>true</CLICON_YANG_AUGMENT_ACCEPT_BROKEN>
<CLICON_CLISPEC_DIR>/usr/local/lib/$APPNAME/clispec</CLICON_CLISPEC_DIR> <CLICON_CLISPEC_DIR>/usr/local/lib/$APPNAME/clispec</CLICON_CLISPEC_DIR>