From owner-svn-src-head@freebsd.org Mon Nov 9 01:05:33 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E292A23B61; Mon, 9 Nov 2015 01:05:33 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 265B015D6; Mon, 9 Nov 2015 01:05:33 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tA915Wwu072323; Mon, 9 Nov 2015 01:05:32 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tA915Vs7072319; Mon, 9 Nov 2015 01:05:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201511090105.tA915Vs7072319@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 9 Nov 2015 01:05:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r290567 - in head: etc/mtree usr.bin/limits usr.bin/limits/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2015 01:05:33 -0000 Author: ngie Date: Mon Nov 9 01:05:31 2015 New Revision: 290567 URL: https://svnweb.freebsd.org/changeset/base/290567 Log: Add some basic tests that exercise cputime limits with limits(1) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Added: head/usr.bin/limits/tests/ head/usr.bin/limits/tests/Makefile (contents, props changed) head/usr.bin/limits/tests/limits_test.sh (contents, props changed) Modified: head/etc/mtree/BSD.tests.dist head/usr.bin/limits/Makefile Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Mon Nov 9 00:19:04 2015 (r290566) +++ head/etc/mtree/BSD.tests.dist Mon Nov 9 01:05:31 2015 (r290567) @@ -554,6 +554,8 @@ .. lastcomm .. + limits + .. m4 .. mkimg Modified: head/usr.bin/limits/Makefile ============================================================================== --- head/usr.bin/limits/Makefile Mon Nov 9 00:19:04 2015 (r290566) +++ head/usr.bin/limits/Makefile Mon Nov 9 01:05:31 2015 (r290567) @@ -1,6 +1,12 @@ # $FreeBSD$ +.include + PROG= limits LIBADD= util +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Added: head/usr.bin/limits/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/limits/tests/Makefile Mon Nov 9 01:05:31 2015 (r290567) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +ATF_TESTS_SH+= limits_test + +.include Added: head/usr.bin/limits/tests/limits_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/limits/tests/limits_test.sh Mon Nov 9 01:05:31 2015 (r290567) @@ -0,0 +1,65 @@ +# +# Copyright 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Make sure time(1) is consistent with the FreeBSD time command and not the +# shell interpretation of time(1) +TIME=/usr/bin/time + +atf_test_case cputime_hard_flag +cputime_hard_flag_body() +{ + + atf_check -e empty -o match:'cputime[[:space:]]+3 secs' -s exit:0 \ + limits -H -t 3 limits -H + atf_check -e empty -o match:'cputime[[:space:]]+3 secs' -s exit:0 \ + limits -H -t 3 limits -S + atf_check -e match:'real[[:space:]]+[34]\.[0-9][0-9]' -o empty -s signal:sigkill \ + limits -H -t 3 $TIME -p sh -c 'while : ; do : ; done' +} + +SIGXCPU=24 # atf_check doesn't know sigxcpu + +atf_test_case cputime_soft_flag +cputime_soft_flag_body() +{ + + atf_check -e empty -o match:'cputime-max[[:space:]]+infinity secs' -s exit:0 \ + limits -S -t 3 limits -H + atf_check -e empty -o match:'cputime-cur[[:space:]]+3 secs' -s exit:0 \ + limits -S -t 3 limits -S + atf_check -e match:'real[[:space:]]+[34]\.[0-9][0-9]' -o empty -s signal:$SIGXCPU \ + limits -S -t 3 $TIME -p sh -c 'while : ; do : ; done' +} + +atf_init_test_cases() +{ + + atf_add_test_case cputime_hard_flag + atf_add_test_case cputime_soft_flag +}