summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2015-04-01 00:20:17 +0800
committerFelix Fietkau <nbd@openwrt.org>2015-03-31 18:42:22 +0200
commit3b3c554567154ad984e4e1146a3ada6ff99925f4 (patch)
treef3406b562c654fa93d0cd6e813042b99b25c5acd
parent06df8218e7036ad9bc03537d8039c6f4728602ac (diff)
downloaduci-3b3c554567154ad984e4e1146a3ada6ff99925f4.tar.gz
tests: add test cases for -P and -p options.
-rw-r--r--test/references/options.delta.result5
-rw-r--r--test/tests.d/090_cli_options38
2 files changed, 43 insertions, 0 deletions
diff --git a/test/references/options.delta.result b/test/references/options.delta.result
new file mode 100644
index 0000000..3119b6f
--- /dev/null
+++ b/test/references/options.delta.result
@@ -0,0 +1,5 @@
+
+config sectype 'sec0'
+ list li0 '1'
+ list li0 '0'
+
diff --git a/test/tests.d/090_cli_options b/test/tests.d/090_cli_options
new file mode 100644
index 0000000..52052a3
--- /dev/null
+++ b/test/tests.d/090_cli_options
@@ -0,0 +1,38 @@
+test_add_delta() {
+ local new_savedir="$TMP_DIR/new_savedir"
+ local config_delta="$CONFIG_DIR/delta"
+
+ # add normal changes
+ touch "$config_delta"
+ $UCI set delta.sec0=sectype
+ $UCI add_list delta.sec0.li0=0
+
+ # save new changes in "$new_savedir"
+ mkdir -p "$new_savedir"
+ touch "$new_savedir/delta"
+ $UCI -P "$new_savedir" set delta.sec0=sectype
+ $UCI -P "$new_savedir" add_list delta.sec0.li0=1
+
+ assertEquals "delta.sec0='sectype'
+delta.sec0.li0+='0'" "$($UCI changes)"
+
+ # check combined changes. order matters here.
+ assertEquals "delta.sec0='sectype'
+delta.sec0.li0+='1'
+delta.sec0='sectype'
+delta.sec0.li0+='0'" "$($UCI -P "$new_savedir" changes)"
+
+ # check CLI_FLAG_NOCOMMIT with -P option.
+ $UCI -P "$new_savedir" commit
+ assertTrue "$?"
+ assertEquals "" "$(cat $config_delta)"
+
+ # check normal commit.
+ $UCI -p "$new_savedir" commit
+ assertTrue "$?"
+ assertSameFile "$REF_DIR/options.delta.result" "$config_delta"
+
+ rm -rf "$new_savedir"
+ rm -f "$config_delta"
+}
+