On 12/07/2012 04:34 PM, Steve Beattie wrote:
> This patch modifies the parser's caching test to more accurately detect
> whether or not the filesystem has a fine enough timestamp resolution.
> Occasionally even on filesystems like ext3, the two files' creation
> dates would differ when created less than a second apart, which would
> typically cause the 'Cache is used when cache is newer' test to fail
> because the cached file would have the same timestamp as the profile.
> 
> The fix creates 10 files 0.1 seconds apart and ensures that all ten
> have distinct timestamps.
> 
> (The occasional failure was caught in testing runs like
>  https://bugs.launchpad.net/qa-regression-testing/+bug/1087061/ )
> 

Acked-by: John Johansen <[email protected]>

> === modified file 'parser/tst/caching.sh'
> --- parser/tst/caching.sh     2012-11-06 01:22:37 +0000
> +++ parser/tst/caching.sh     2012-12-08 00:03:55 +0000
> @@ -24,15 +24,17 @@
>  
>  # Detect and slow down cache test when filesystem can't represent nanosecond 
> delays.
>  timeout=0.1
> -touch $basedir/test1
> -sleep $timeout
> -touch $basedir/test2
> -TIMES=$(stat $basedir/test1 $basedir/test2 -c %z | cut -d" " -f2 | cut -d. 
> -f2 | sort -u | wc -l)
> -if [ $TIMES -ne 2 ]; then
> +_count=10
> +for ((i = 0; i < ${_count} ; i++)) ; do
> +     touch $basedir/test${i}
> +     sleep $timeout
> +done
> +TIMES=$(stat $basedir/test* -c %z | cut -d" " -f2 | cut -d: -f3 | sort -u | 
> wc -l)
> +if [ $TIMES -ne ${_count} ]; then
>      echo "WARNING: $basedir lacks nanosecond timestamp resolution, falling 
> back to slower test"
>      timeout=1
>  fi
> -rm -f $basedir/test1 $basedir/test2
> +rm -f $basedir/test*
>  
>  echo -n "Profiles are not cached by default: "
>  ${APPARMOR_PARSER} $ARGS -q -r $basedir/$profile
> 
> 
> 


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to