* Tests: use YANG_STANDARD_DIR from ./configure --with-yang-standard-dir=DIR instead of YANGMODELS from site.sh
This commit is contained in:
parent
f8f34e3571
commit
4fbad467df
14 changed files with 41 additions and 66 deletions
|
|
@ -7,9 +7,8 @@ automatically run as part of the all.sh, sum.sh tests etc. The scripts
|
|||
need to follow some rules to work properly, please look at one or two
|
||||
to get the idea.
|
||||
|
||||
Note that some IETF yangs need to be available, by default these are
|
||||
available in https://github.com/YangModels/yang. Just ensure the YANGMODELS in site.sh points
|
||||
to a locally checked out dir.
|
||||
Note that some IETF yangs need to be available, by default these are in `/usr/local//share/yang/standard`. You can change this location with configure option `--with-yang-standard-dir=DIR`
|
||||
|
||||
|
||||
See also the [site.sh](#site-sh) for example for skipping tests or setting some site-specific variables.
|
||||
|
||||
|
|
@ -89,10 +88,6 @@ You may add your site-specific modifications in a `site.sh` file. Example:
|
|||
SKIPLIST="test_openconfig.sh test_yangmodels.sh"
|
||||
# Parse yang openconfig models from https://github.com/openconfig/public
|
||||
OPENCONFIG=/usr/local/share/openconfig/public
|
||||
# Parse yangmodels from https://github.com/YangModels/yang
|
||||
YANGMODELS=/usr/local/share/yangmodels
|
||||
# Standard IETF RFC yang files.
|
||||
IETFRFC=$YANGMODELS/standard/ietf/RFC
|
||||
```
|
||||
|
||||
For example, in FreeBSD, add:
|
||||
|
|
|
|||
|
|
@ -177,8 +177,8 @@ if [ -f ./site.sh ]; then
|
|||
fi
|
||||
|
||||
# Standard IETF RFC yang files.
|
||||
if [ ! -z ${YANGMODELS} ]; then
|
||||
: ${IETFRFC=$YANGMODELS/standard/ietf/RFC}
|
||||
if [ ! -z ${YANG_STANDARD_DIR} ]; then
|
||||
: ${IETFRFC=$YANG_STANDARD_DIR/ietf/RFC}
|
||||
fi
|
||||
|
||||
# Check sanity between --with-restconf setting and if nginx is started by systemd or not
|
||||
|
|
|
|||
|
|
@ -14,12 +14,6 @@
|
|||
# Parse yang openconfig models from https://github.com/openconfig/public
|
||||
OPENCONFIG=/usr/local/share/openconfig/public
|
||||
#
|
||||
# Parse yangmodels from https://github.com/YangModels/yang
|
||||
YANGMODELS=/usr/local/share/yang
|
||||
#
|
||||
# Specify alternative directory for the standard IETF RFC yang files.
|
||||
#IETFRFC=$YANGMODELS/standard/ietf/RFC
|
||||
|
||||
# Some restconf tests can run IPv6, but its complicated because:
|
||||
# - docker by default does not run IPv6
|
||||
IPv6=true
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
# - A simple smoketest (CLI check) is made, essentially YANG parsing.
|
||||
# - A full system is worked on
|
||||
# - Env-var OPENCONFIG should point to checkout place. (define it in site.sh for example)
|
||||
# - Env variable YANGMODELS should point to checkout place. (define it in site.sh for example)
|
||||
# - Env variable IETFRFC should point to checkout place, derived from YANG_STANDARD_DIR config option
|
||||
# - Some DIFFs are necessary in yangmodels
|
||||
# release/models/wifi/openconfig-ap-interfaces.yang
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Parse "all" IEEE yangmodels from https://github.com/YangModels/yang/standard/ietf/RFC
|
||||
# Notes:
|
||||
# - Only a simple smoketest (CLI check) is made, essentially YANG parsing. A full system may not work
|
||||
# - Env variable YANGMODELS should point to checkout place. (define it in site.sh for example)
|
||||
# - Env variable YANG_STANDARD_DIR should point to yangmodels/standard
|
||||
# - Some FEATURES are set to make it work
|
||||
# - Some DIFFs are necessary in yangmodels
|
||||
# - standard/ieee/published/802.3/ieee802-ethernet-pon.yang:
|
||||
|
|
@ -18,23 +18,16 @@ APPNAME=example
|
|||
|
||||
cfg=$dir/conf_yang.xml
|
||||
|
||||
if [ ! -d "$YANGMODELS" ]; then
|
||||
# err "Hmm Yangmodels dir does not seem to exist, try git clone https://github.com/YangModels/yang?"
|
||||
echo "...skipped: YANGMODELS not set"
|
||||
if [ "$s" = $0 ]; then exit 0; else return 0; fi
|
||||
fi
|
||||
|
||||
# Experimental IEEE
|
||||
cat <<EOF > $cfg
|
||||
<clixon-config xmlns="http://clicon.org/config">
|
||||
<CLICON_CONFIGFILE>$cfg</CLICON_CONFIGFILE>
|
||||
<CLICON_FEATURE>ni-ieee1588-ptp:cmlds</CLICON_FEATURE>
|
||||
<CLICON_YANG_DIR>/usr/local/share/clixon</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ietf/RFC</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ieee/draft/802.1/Qcr</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ieee/draft/802</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ieee/published/802.1</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ieee/published/802</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</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published/802.1</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_CLI_DIR>/usr/local/lib/$APPNAME/cli</CLICON_CLI_DIR>
|
||||
<CLICON_CLI_MODE>$APPNAME</CLICON_CLI_MODE>
|
||||
|
|
@ -46,34 +39,36 @@ EOF
|
|||
|
||||
new "yangmodels parse: -f $cfg"
|
||||
|
||||
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}"
|
||||
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}"
|
||||
|
||||
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}"
|
||||
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: $YANGMODELS/standard/ieee/draft/802.1/ABcu"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$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/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: $YANGMODELS/standard/ieee/draft/802.1/Qcr"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/standard/ieee/draft/802.1/Qcr 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=$YANGMODELS/standard/ieee/draft/802.1/Qcw show version)" 0 "${CLIXON_VERSION}"
|
||||
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: $YANGMODELS/standard/ieee/draft/802.1/Qcx"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/standard/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/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: $YANGMODELS/standard/ieee/draft/802.1/x"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/standard/ieee/draft/802.1/x 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: $YANGMODELS/standard/ieee/published/802.1"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/standard/ieee/published/802.1 show version)" 0 "${CLIXON_VERSION}"
|
||||
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: $YANGMODELS/standard/ieee/published/802.3"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -o CLICON_YANG_MAIN_DIR=$YANGMODELS/standard/ieee/published/802.3 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
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Parse "all" IETF yangmodels from https://github.com/YangModels/yang/standard/ieee and experimental/ieee
|
||||
# Notes:
|
||||
# - Only a simple smoketest (CLI check) is made, essentially YANG parsing. A full system may not work
|
||||
# - Env variable YANGMODELS should point to checkout place. (define it in site.sh for example)
|
||||
# - Env variable YANG_STANDARD_DIR should point to yangmodels/standard
|
||||
# - Some FEATURES are set to make it work
|
||||
# - Some YANGmodels are broken, therefore CLICON_YANG_AUGMENT_ACCEPT_BROKEN is true
|
||||
|
||||
|
|
@ -14,12 +14,6 @@ APPNAME=example
|
|||
|
||||
cfg=$dir/conf_yang.xml
|
||||
|
||||
if [ ! -d "$YANGMODELS" ]; then
|
||||
# err "Hmm Yangmodels dir does not seem to exist, try git clone https://github.com/YangModels/yang?"
|
||||
echo "...skipped: YANGMODELS not set"
|
||||
if [ "$s" = $0 ]; then exit 0; else return 0; fi
|
||||
fi
|
||||
|
||||
cat <<EOF > $cfg
|
||||
<clixon-config xmlns="http://clicon.org/config">
|
||||
<CLICON_CONFIGFILE>$cfg</CLICON_CONFIGFILE>
|
||||
|
|
@ -31,8 +25,8 @@ cat <<EOF > $cfg
|
|||
<CLICON_FEATURE>ietf-te-topology:te-topology-hierarchy</CLICON_FEATURE>
|
||||
<CLICON_FEATURE>ietf-te-types:path-optimization-metric</CLICON_FEATURE>
|
||||
<CLICON_YANG_DIR>/usr/local/share/clixon</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ieee/published/802.1</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>$YANGMODELS/standard/ietf/RFC</CLICON_YANG_DIR>
|
||||
<CLICON_YANG_DIR>${YANG_STANDARD_DIR}/ieee/published/802.1</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_CLISPEC_DIR>/usr/local/lib/$APPNAME/clispec</CLICON_CLISPEC_DIR>
|
||||
<CLICON_CLI_DIR>/usr/local/lib/$APPNAME/cli</CLICON_CLI_DIR>
|
||||
|
|
@ -44,11 +38,11 @@ cat <<EOF > $cfg
|
|||
EOF
|
||||
|
||||
# Standard IETF
|
||||
files=$(find $YANGMODELS/standard/ietf/RFC -name "*.yang")
|
||||
files=$(find ${YANG_STANDARD_DIR}/ietf/RFC -name "*.yang")
|
||||
for f in $files; do
|
||||
if [ -n "$(head -1 $f|grep '^module')" ]; then
|
||||
# Mask old revision
|
||||
if [ $f != $YANGMODELS/standard/ietf/RFC/ietf-yang-types@2010-09-24.yang ]; then
|
||||
if [ $f != ${YANG_STANDARD_DIR}/ietf/RFC/ietf-yang-types@2010-09-24.yang ]; then
|
||||
new "$clixon_cli -D $DBG -1f $cfg -y $f show version"
|
||||
expectpart "$($clixon_cli -D $DBG -1f $cfg -y $f show version)" 0 "${CLIXON_VERSION}"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -83,4 +83,4 @@ if [ $release = "freebsd" ]; then
|
|||
echo "make=gmake" >> ./site.sh
|
||||
fi
|
||||
echo "OPENCONFIG=/usr/local/share/openconfig/public" >> ./site.sh
|
||||
echo "YANGMODELS=/usr/local/share/yang" >> ./site.sh
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue