summaryrefslogtreecommitdiff
path: root/tests/shunit2/tests.d/090_cli_options
blob: aff8316302f4249bfddc18dad40a7f4c3a36fc33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
test_add_delta() {
	local new_savedir="$TMP_DIR/new_savedir"
	local config_delta="$CONFIG_DIR/delta"
	local cmdoutput

	# 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=tmptype
	$UCI -P "$new_savedir" add_list delta.sec0.li0=1
	$UCI -P "$new_savedir" set delta.sec0=sectype

	assertEquals "delta.sec0='sectype'
delta.sec0.li0+='0'" "$($UCI changes)"

	# check combined changes.  Order matters here.
	cmdoutput="$($UCI -P "$new_savedir" changes)"
	assertTrue "$?"
	assertEquals "delta.sec0='sectype'
delta.sec0.li0+='0'
delta.sec0='tmptype'
delta.sec0.li0+='1'
delta.sec0='sectype'" "$cmdoutput"

	# check combined export.  Order matters here.
	cmdoutput="$($UCI -P "$new_savedir" export)"
	assertTrue "$?"
	assertEquals "$(cat $REF_DIR/cli.options.delta.export.result)" "$cmdoutput"

	# 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/cli.options.delta.commit.result" "$config_delta"

	rm -rf "$new_savedir"
	rm -f "$config_delta"
}