yanglint TEST restriction on the merge parameter
diff --git a/tools/lint/cmd_data.c b/tools/lint/cmd_data.c
index 3f97c74..969ab79 100644
--- a/tools/lint/cmd_data.c
+++ b/tools/lint/cmd_data.c
@@ -336,6 +336,7 @@
if (data_merge) {
if (data_type || (options_parse & LYD_PARSE_ONLY)) {
/* switch off the option, incompatible input data type */
+ YLMSG_W("The --merge option has effect only for 'data' and 'config' TYPEs\n");
data_merge = 0;
} else {
/* postpone validation after the merge of all the input data */
diff --git a/tools/lint/main_ni.c b/tools/lint/main_ni.c
index 7b25e45..cda70f3 100644
--- a/tools/lint/main_ni.c
+++ b/tools/lint/main_ni.c
@@ -901,6 +901,7 @@
if (c->data_merge) {
if (c->data_type || (c->data_parse_options & LYD_PARSE_ONLY)) {
/* switch off the option, incompatible input data type */
+ YLMSG_W("The --merge option has effect only for 'data' and 'config' TYPEs\n");
c->data_merge = 0;
} else {
/* postpone validation after the merge of all the input data */
diff --git a/tools/lint/tests/interactive/data_merge.test b/tools/lint/tests/interactive/data_merge.test
index f09f879..38754c7 100644
--- a/tools/lint/tests/interactive/data_merge.test
+++ b/tools/lint/tests/interactive/data_merge.test
@@ -17,4 +17,17 @@
ly_cmd_err "data -m $ddir/modmerge.xml $ddir/modmerge2.xml" "Merged data are not valid"
}}
+test data_merge_dataconfig {The merge option has effect only for 'data' and 'config' TYPEs} {
+-setup $ly_setup -cleanup $ly_cleanup -body {
+ ly_cmd "load modrpc modnotif modconfig modleaf"
+ set wrn1 "option has effect only for"
+ ly_cmd_wrn "data -m -t rpc $ddir/modrpc.xml $ddir/modrpc.xml" $wrn1
+ ly_cmd_wrn "data -m -t notif $ddir/modnotif2.xml $ddir/modnotif2.xml" $wrn1
+ ly_cmd_wrn "data -m -t get $ddir/modleaf.xml $ddir/modconfig.xml" $wrn1
+ ly_cmd_wrn "data -m -t getconfig $ddir/modleaf.xml $ddir/modconfig2.xml" $wrn1
+ ly_cmd_wrn "data -m -t edit $ddir/modleaf.xml $ddir/modconfig2.xml" $wrn1
+ ly_cmd "data -m -t config $ddir/modleaf.xml $ddir/modconfig2.xml"
+ ly_cmd "data -m -t data $ddir/modleaf.xml $ddir/modconfig.xml"
+}}
+
cleanupTests
diff --git a/tools/lint/tests/non-interactive/data_merge.test b/tools/lint/tests/non-interactive/data_merge.test
index b8e582c..4ecfcee 100644
--- a/tools/lint/tests/non-interactive/data_merge.test
+++ b/tools/lint/tests/non-interactive/data_merge.test
@@ -14,4 +14,15 @@
ly_cmd_err "-m $mdir/modmerge.yang $ddir/modmerge.xml $ddir/modmerge2.xml" "Merged data are not valid"
} {}
+test data_merge_dataconfig {The merge option has effect only for 'data' and 'config' TYPEs} {
+ set wrn1 "option has effect only for"
+ ly_cmd_wrn "-m -t rpc $mdir/modrpc.yang $ddir/modrpc.xml $ddir/modrpc.xml" $wrn1
+ ly_cmd_wrn "-m -t notif $mdir/modnotif.yang $ddir/modnotif2.xml $ddir/modnotif2.xml" $wrn1
+ ly_cmd_wrn "-m -t get $mdir/modconfig.yang $mdir/modleaf.yang $ddir/modleaf.xml $ddir/modconfig.xml" $wrn1
+ ly_cmd_wrn "-m -t getconfig $mdir/modconfig.yang $mdir/modleaf.yang $ddir/modleaf.xml $ddir/modconfig2.xml" $wrn1
+ ly_cmd_wrn "-m -t edit $mdir/modconfig.yang $mdir/modleaf.yang $ddir/modleaf.xml $ddir/modconfig2.xml" $wrn1
+ ly_cmd "-m -t config $mdir/modconfig.yang $mdir/modleaf.yang $ddir/modleaf.xml $ddir/modconfig2.xml"
+ ly_cmd "-m -t data $mdir/modconfig.yang $mdir/modleaf.yang $ddir/modleaf.xml $ddir/modconfig.xml"
+} {}
+
cleanupTests