xpath parser scan strings instead of characters
This commit is contained in:
parent
a68174897d
commit
ed62c33a79
5 changed files with 10 additions and 12 deletions
|
|
@ -146,11 +146,11 @@ real ({digit}+[.]{digit}*)|({digit}*[.]{digit}+)
|
||||||
<TOKEN>. { fprintf(stderr,"LEXICAL ERROR\n"); return -1; }
|
<TOKEN>. { fprintf(stderr,"LEXICAL ERROR\n"); return -1; }
|
||||||
|
|
||||||
<QLITERAL>\" { BEGIN(TOKEN); return QUOTE; }
|
<QLITERAL>\" { BEGIN(TOKEN); return QUOTE; }
|
||||||
<QLITERAL>. { clixon_xpath_parselval.string = strdup(yytext);
|
<QLITERAL>[^"]+ { clixon_xpath_parselval.string = strdup(yytext);
|
||||||
return CHAR;}
|
return CHARS;}
|
||||||
<ALITERAL>\' { BEGIN(TOKEN); return APOST; }
|
<ALITERAL>\' { BEGIN(TOKEN); return APOST; }
|
||||||
<ALITERAL>. { clixon_xpath_parselval.string = strdup(yytext);
|
<ALITERAL>[^']+ { clixon_xpath_parselval.string = strdup(yytext);
|
||||||
return CHAR;}
|
return CHARS;}
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
%token <string> X_EOF
|
%token <string> X_EOF
|
||||||
%token <string> QUOTE
|
%token <string> QUOTE
|
||||||
%token <string> APOST
|
%token <string> APOST
|
||||||
%token <string> CHAR
|
%token <string> CHARS
|
||||||
%token <string> NAME
|
%token <string> NAME
|
||||||
%token <string> NODETYPE
|
%token <string> NODETYPE
|
||||||
%token <string> DOUBLEDOT
|
%token <string> DOUBLEDOT
|
||||||
|
|
@ -276,14 +276,14 @@ args : args ',' expr { $$=xp_new(XP_EXP,A_NAN,0.0,NULL,NULL,$1, $3);
|
||||||
clicon_debug(2,"args -> expr "); }
|
clicon_debug(2,"args -> expr "); }
|
||||||
;
|
;
|
||||||
|
|
||||||
string : string CHAR {
|
string : string CHARS {
|
||||||
int len = strlen($1);
|
int len = strlen($1);
|
||||||
$$ = realloc($1, len+strlen($2) + 1);
|
$$ = realloc($1, len+strlen($2) + 1);
|
||||||
sprintf($$+len, "%s", $2);
|
sprintf($$+len, "%s", $2);
|
||||||
free($2);
|
free($2);
|
||||||
clicon_debug(2,"string-> string CHAR");
|
clicon_debug(2,"string-> string CHAR");
|
||||||
}
|
}
|
||||||
| CHAR { clicon_debug(2,"string-> "); }
|
| CHARS { clicon_debug(2,"string-> "); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ module scaling{
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF > $cfg
|
cat <<EOF > $cfg
|
||||||
<config>
|
<clixon-config xmlns="http://clicon.org/config">
|
||||||
<CLICON_CONFIGFILE>$cfg</CLICON_CONFIGFILE>
|
<CLICON_CONFIGFILE>$cfg</CLICON_CONFIGFILE>
|
||||||
<CLICON_YANG_DIR>$dir</CLICON_YANG_DIR>
|
<CLICON_YANG_DIR>$dir</CLICON_YANG_DIR>
|
||||||
<CLICON_YANG_DIR>/usr/local/share/clixon</CLICON_YANG_DIR>
|
<CLICON_YANG_DIR>/usr/local/share/clixon</CLICON_YANG_DIR>
|
||||||
|
|
@ -53,7 +53,7 @@ cat <<EOF > $cfg
|
||||||
<CLICON_XMLDB_DIR>/usr/local/var/$APPNAME</CLICON_XMLDB_DIR>
|
<CLICON_XMLDB_DIR>/usr/local/var/$APPNAME</CLICON_XMLDB_DIR>
|
||||||
<CLICON_XMLDB_PLUGIN>/usr/local/lib/xmldb/text.so</CLICON_XMLDB_PLUGIN>
|
<CLICON_XMLDB_PLUGIN>/usr/local/lib/xmldb/text.so</CLICON_XMLDB_PLUGIN>
|
||||||
<CLICON_XMLDB_PRETTY>false</CLICON_XMLDB_PRETTY>
|
<CLICON_XMLDB_PRETTY>false</CLICON_XMLDB_PRETTY>
|
||||||
</config>
|
</clixon-config>
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
new "test params: -f $cfg -y $fyang"
|
new "test params: -f $cfg -y $fyang"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Run valgrind leak test for cli, restconf, netconf or background.
|
# Run valgrind leak test for cli, restconf, netconf or background.
|
||||||
# Stop on first error
|
# Stop on first error
|
||||||
|
|
||||||
|
|
||||||
# Run valgrindtest once, args:
|
# Run valgrindtest once, args:
|
||||||
# what: cli|netconf|restconf|backend
|
# what: cli|netconf|restconf|backend
|
||||||
|
|
@ -24,7 +23,7 @@ memonce(){
|
||||||
;;
|
;;
|
||||||
'backend')
|
'backend')
|
||||||
valgrindtest=2 # This means backend valgrind test
|
valgrindtest=2 # This means backend valgrind test
|
||||||
: ${RCWAIT:=5} # valgrind backend needs some time to get up
|
: ${RCWAIT:=10} # valgrind backend needs some time to get up
|
||||||
perfnr=100 # test_perf.sh restconf put more or less stops
|
perfnr=100 # test_perf.sh restconf put more or less stops
|
||||||
perfreq=10
|
perfreq=10
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,6 @@ expectfn "$clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/stand
|
||||||
files=$(find $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf -name "*.yang")
|
files=$(find $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf -name "*.yang")
|
||||||
let i=0;
|
let i=0;
|
||||||
for f in $files; do
|
for f in $files; do
|
||||||
echo "f:$f"
|
|
||||||
if [ -n "$(head -5 $f|grep '^ module')" ]; then
|
if [ -n "$(head -5 $f|grep '^ module')" ]; then
|
||||||
new "$clixon_cli -1f $cfg -o CLICON_YANG_MAIN_FILE=$f -p $YANGMODELS/vendor/juniper/18.2/18.2R1/common -p $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf show version"
|
new "$clixon_cli -1f $cfg -o CLICON_YANG_MAIN_FILE=$f -p $YANGMODELS/vendor/juniper/18.2/18.2R1/common -p $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf show version"
|
||||||
expectfn "$clixon_cli -1f $cfg -o CLICON_YANG_MAIN_FILE=$f -p $YANGMODELS/vendor/juniper/18.2/18.2R1/common -p $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf -o CLICON_CLI_GENMODEL=0 show version" 0 "3."
|
expectfn "$clixon_cli -1f $cfg -o CLICON_YANG_MAIN_FILE=$f -p $YANGMODELS/vendor/juniper/18.2/18.2R1/common -p $YANGMODELS/vendor/juniper/18.2/18.2R1/junos/conf -o CLICON_CLI_GENMODEL=0 show version" 0 "3."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue