From owner-svn-src-all@FreeBSD.ORG Wed Mar 9 23:11:31 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C7161065678; Wed, 9 Mar 2011 23:11:31 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01C0C8FC1F; Wed, 9 Mar 2011 23:11:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p29NBUUu023652; Wed, 9 Mar 2011 23:11:30 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p29NBUOG023651; Wed, 9 Mar 2011 23:11:30 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201103092311.p29NBUOG023651@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Wed, 9 Mar 2011 23:11:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r219439 - head/tools/regression/pjdfstest/tests/ftruncate X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2011 23:11:31 -0000 Author: pjd Date: Wed Mar 9 23:11:30 2011 New Revision: 219439 URL: http://svn.freebsd.org/changeset/base/219439 Log: Few initial ftruncate(2) tests. One of them covers stand/154873. PR: stand/154873 Added: head/tools/regression/pjdfstest/tests/ftruncate/ head/tools/regression/pjdfstest/tests/ftruncate/00.t (contents, props changed) Added: head/tools/regression/pjdfstest/tests/ftruncate/00.t ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/pjdfstest/tests/ftruncate/00.t Wed Mar 9 23:11:30 2011 (r219439) @@ -0,0 +1,58 @@ +#!/bin/sh +# $FreeBSD$ + +desc="ftruncate descrease/increase file size" + +dir=`dirname $0` +. ${dir}/../misc.sh + +echo "1..21" + +n0=`namegen` +n1=`namegen` + +expect 0 mkdir ${n1} 0755 +cdir=`pwd` +cd ${n1} + +expect 0 create ${n0} 0644 +expect 0 open ${n0} O_RDWR : ftruncate 0 1234567 +expect 1234567 lstat ${n0} size +expect 0 open ${n0} O_WRONLY : ftruncate 0 567 +expect 567 lstat ${n0} size +expect 0 unlink ${n0} + +dd if=/dev/random of=${n0} bs=12345 count=1 >/dev/null 2>&1 +expect 0 open ${n0} O_RDWR : ftruncate 0 23456 +expect 23456 lstat ${n0} size +expect 0 open ${n0} O_WRONLY : ftruncate 0 1 +expect 1 lstat ${n0} size +expect 0 unlink ${n0} + +# successful ftruncate(2) updates ctime. +expect 0 create ${n0} 0644 +ctime1=`${fstest} stat ${n0} ctime` +sleep 1 +expect 0 open ${n0} O_RDWR : ftruncate 0 123 +ctime2=`${fstest} stat ${n0} ctime` +test_check $ctime1 -lt $ctime2 +expect 0 unlink ${n0} + +# unsuccessful ftruncate(2) does not update ctime. +expect 0 create ${n0} 0644 +ctime1=`${fstest} stat ${n0} ctime` +sleep 1 +expect EINVAL -u 65534 open ${n0} O_RDONLY : ftruncate 0 123 +ctime2=`${fstest} stat ${n0} ctime` +test_check $ctime1 -eq $ctime2 +expect 0 unlink ${n0} + +# third argument should not affect permission. +expect 0 open ${n0} O_CREAT,O_RDWR 0 : ftruncate 0 0 +expect 0 unlink ${n0} +expect 0 chmod . 0777 +expect 0 -u 65534 open ${n0} O_CREAT,O_RDWR 0 : ftruncate 0 0 +expect 0 unlink ${n0} + +cd ${cdir} +expect 0 rmdir ${n1}