aboutsummaryrefslogtreecommitdiff
path: root/t/inotifywait-format-option-cookie.t
blob: ca3cd1f47a8a060d84e64d5968f1bddafb6e5a3f (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
49
50
51
52
53
54
#!/bin/bash

test_description='Resolves Issue #72

Make transaction id (cookie) available as part of the format string using %c'

. ./sharness.sh

logfile="log"

run_() {
  # Setup code, defer an ATTRIB event for after
  # inotifywait has been set up.
  touch $logfile

  export LD_LIBRARY_PATH="../../libinotifytools/src/.libs/"

  ../../src/.libs/inotifywait \
    --monitor \
    --daemon \
    --quiet \
    --outfile $logfile \
    --format '%c %e %w%f' \
    --event create \
    --event moved_to \
    --event moved_from \
    $(realpath ./)

  PID="$!"

  touch test-file-src

  mv test-file-src test-file-dst

  kill ${PID}
}

test_expect_success \
	'event logged' \
	'
	set -e
	trap "set +e" RETURN
	run_
	local NONCOOKIE="$(cat "${logfile}" | sed -n 1p | grep -Eo "^[^ ]+")"
	#Make sure cookie is 0 for single events
    	[[ "${NONCOOKIE}" == "0" ]] || return 1
	local COOKIE_A="$(cat "${logfile}" | sed -n 2p | grep -Eo "^[^ ]+")"
    	[[ -n "${COOKIE_A}" ]] || return 1
    	local COOKIE_B="$(cat "${logfile}" | sed -n 3p | grep -Eo "^[^ ]+")"
    	[[ "${COOKIE_A}" == "${COOKIE_B}" ]] || return 1
    	return 0
	'

test_done