svn commit: r310362 - user/pho/stress2/misc

Peter Holm pho at FreeBSD.org
Wed Dec 21 09:59:56 UTC 2016


Author: pho
Date: Wed Dec 21 09:59:55 2016
New Revision: 310362
URL: https://svnweb.freebsd.org/changeset/base/310362

Log:
  Added a regression test.
  
  PR:		214923
  Submitted by:	Jihyun Yu <yjh0502 at gmail.com>
  Sponsored by:	Dell EMC Isilon

Added:
  user/pho/stress2/misc/watchman.sh   (contents, props changed)

Added: user/pho/stress2/misc/watchman.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/pho/stress2/misc/watchman.sh	Wed Dec 21 09:59:55 2016	(r310362)
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# Bug 214923 - kqueue hangs with busy loop
+# Test scenario by: Jihyun Yu <yjh0502 at gmail.com>
+
+# https://people.freebsd.org/~pho/stress/log/watchman.txt
+# Fixed by: r310302
+
+. ../default.cfg
+
+[ -z `which watchman` ] && { echo "watchman is not installed"; exit 0; }
+
+daemon sh -c "(cd ../testcases/swap; ./swap -t 5m -i 20 -h -l 100)" > \
+    /dev/null
+
+dir=/tmp/watchman
+rm -rf $dir
+mkdir -p $dir
+cd $dir
+
+mkdir -p foo bar
+seq -w 0 100 | xargs -n1 -I{} touch foo/{}.c
+
+echo '["subscribe","./","mysub",{"fields":["name"],"expression":["allof",'\
+    '["type","f"],["not","empty"],["suffix","c"]]}]' | \
+    watchman -p -j --server-encoding=json > /dev/null &
+pids=$!
+while true; do find bar/ -type f | xargs -n1 -P5 -I'{}' mv '{}' foo; done &
+pids="$pids $!"
+while true; do find foo/ -type f | xargs -n1 -P5 -I'{}' mv '{}' bar; done &
+pids="$pids $!"
+
+sleep 180
+while pgrep -q swap; do
+	pkill -9 swap
+done
+kill -9 $pids
+pkill watchman
+wait
+cd /
+sleep 1
+rm -rf $dir
+exit 0


More information about the svn-src-user mailing list