blob: 601acfc16701b876490e746d4d52221ebc381b46 [file] [log] [blame]
aPiecek05c75952023-03-29 09:09:44 +02001source [expr {[info exists ::env(TESTS_DIR)] ? "$env(TESTS_DIR)/non-interactive/ly.tcl" : "ly.tcl"}]
2
3set mdir $::env(YANG_MODULES_DIR)
aPiecekf1f4efe2023-05-11 14:26:39 +02004set ddir $::env(TESTS_DIR)/data
aPiecek768ee472023-03-30 11:19:42 +02005set ipv6_path "/ietf-interfaces:interfaces/interface/ietf-ip:ipv6/address"
aPiecek05c75952023-03-29 09:09:44 +02006
7test format_yang {} {
8 ly_cmd "-f yang $mdir/modleaf.yang" "leaf lfl"
9} {}
10
aPiecek60a517a2023-03-31 11:06:42 +020011test format_yang_submodule {Print submodule in yang format} {
12 ly_cmd "-s modsub -f yang $mdir/modinclude.yang" "submodule modsub"
13} {}
14
aPiecek05c75952023-03-29 09:09:44 +020015test format_yin {} {
16 ly_cmd "-f yin $mdir/modleaf.yang" "<leaf name=\"lfl\">"
17} {}
18
aPiecek60a517a2023-03-31 11:06:42 +020019test format_yin_submodule {Print submodule in yin format} {
20 ly_cmd "-s modsub -f yin $mdir/modinclude.yang" "<submodule name=\"modsub\""
21} {}
22
aPiecek05c75952023-03-29 09:09:44 +020023test format_info {} {
24 ly_cmd "-f info $mdir/modleaf.yang" "status current"
25} {}
26
27test format_tree {} {
28 ly_cmd "-f tree $mdir/modleaf.yang" "\\+--rw lfl"
29} {}
30
aPiecekf1f4efe2023-05-11 14:26:39 +020031test format_data_xml {Print data in xml format} {
32 ly_cmd "-f xml $mdir/modleaf.yang $ddir/modleaf.xml" "<lfl xmlns=\"urn:yanglint:modleaf\">7</lfl>"
33} {}
34
35test format_data_json {Print data in json format} {
36 ly_cmd "-f json $mdir/modleaf.yang $ddir/modleaf.xml" "{\n \"modleaf:lfl\": 7\n}"
37} {}
38
aPiecek60a517a2023-03-31 11:06:42 +020039test format_tree_submodule {Print submodule in tree format} {
40 ly_cmd "-s modsub -f tree $mdir/modinclude.yang" "submodule: modsub"
41} {}
42
aPiecek768ee472023-03-30 11:19:42 +020043test format_tree_path {Print subtree in tree format} {
44 ly_cmd "-f tree -P $ipv6_path $mdir/ietf-ip.yang" "\\+--rw address.*\\+--rw prefix-length"
45} {}
46
47test format_tree_path_single_node {Print node in tree format} {
48 ly_cmd "-f tree -q -P $ipv6_path $mdir/ietf-ip.yang" "\\+--rw address\\* \\\[ip\\\]$"
49} {}
50
aPiecek146fd192023-03-30 11:22:16 +020051test format_tree_path_single_node_line_length {Print node in the tree format and limit row size} {
52 ly_cmd "-f tree -L 20 -q -P $ipv6_path $mdir/ietf-ip.yang" "\\+--rw address\\*\n *\\\[ip\\\]$"
53} {}
54
aPiecek05c75952023-03-29 09:09:44 +020055test format_feature_param_one_module {Show features for one module} {
56 ly_cmd "-f feature-param $mdir/ietf-ip.yang" " -F ietf-ip:ipv4-non-contiguous-netmasks,ipv6-privacy-autoconf" -ex
57} {}
58
59test format_feature_param_more_modules {Show a mix of modules with and without features} {
60
61 set features " -F modfeature:ftr1,ftr2\
62-F modleaf:\
63-F ietf-ip:ipv4-non-contiguous-netmasks,ipv6-privacy-autoconf"
64
65 ly_cmd "-f feature-param $mdir/modfeature.yang $mdir/modleaf.yang $mdir/ietf-ip.yang" $features -ex
66} {}
67
68cleanupTests