NetBSD Problem Report #44882

From martin@aprisoft.de  Tue Apr 19 13:49:42 2011
Return-Path: <martin@aprisoft.de>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 64A6A63BBDB
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 19 Apr 2011 13:49:42 +0000 (UTC)
Message-Id: <20110419134934.9794EAF580E@emmas.aprisoft.de>
Date: Tue, 19 Apr 2011 15:49:34 +0200 (CEST)
From: martin@NetBSD.org
Reply-To: martin@NetBSD.org
To: gnats-bugs@gnats.NetBSD.org
Subject: ATF testprograms are called with "random" stdin
X-Send-Pr-Version: 3.95

>Number:         44882
>Category:       bin
>Synopsis:       ATF testprograms are called with "random" stdin
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    jmmv
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 19 13:50:00 +0000 2011
>Closed-Date:    Tue Jun 14 15:29:47 +0000 2011
>Last-Modified:  Tue Jun 14 15:29:47 +0000 2011
>Originator:     Martin Husemann
>Release:        NetBSD 5.99.48
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD nelly.aprisoft.de 5.99.48 NetBSD 5.99.48 (NELLY.MP) #150: Mon Mar 28 21:06:10 CEST 2011 martin@emmas.aprisoft.de:/nelly/usr/src/sys/arch/sparc64/compile/NELLY.MP sparc64
Architecture: sparc64
Machine: sparc64
>Description:

ATF test programs inherit file descriptor 0 from the invoking environment,
so it may sometimes be a "proper" terminal, sometimes something else.
This might cause differences between manual atf runs (or test program
invocations) and automatic test runs.

In a quick discussion about the curses testcases failing in the sparc64
automatic test runs, Julio suggested to change atf to always open /dev/null
on stdin for test programs.

This is just a reminder.

>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: bin-bug-people->jmmv
Responsible-Changed-By: martin@NetBSD.org
Responsible-Changed-When: Tue, 19 Apr 2011 13:51:04 +0000
Responsible-Changed-Why:
Julio asked to assign this to him


State-Changed-From-To: open->feedback
State-Changed-By: jmmv@NetBSD.org
State-Changed-When: Thu, 21 Apr 2011 16:09:52 +0000
State-Changed-Why:
I've made test programs run with stdin connected to /dev/zero in revision
bffb07e26961647d8ab01f81b4fd6b1f1279618f upstream.

Do you want this pulled up to -current, or can it wait?


From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: jmmv@NetBSD.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org,
	martin@NetBSD.org
Subject: Re: bin/44882 (ATF testprograms are called with "random" stdin)
Date: Thu, 21 Apr 2011 18:11:03 +0200

 On Thu, Apr 21, 2011 at 04:09:53PM +0000, jmmv@NetBSD.org wrote:
 > Do you want this pulled up to -current, or can it wait?

 It can wait (the affected test cases should be fixed by now anyway).

 Martin

State-Changed-From-To: feedback->suspended
State-Changed-By: jmmv@NetBSD.org
State-Changed-When: Thu, 21 Apr 2011 16:16:29 +0000
State-Changed-Why:
ACK.  Waiting for atf-0.14.  If this is needed earlier than that, just
let me know and I'll pull the fix up.


From: "Julio Merino" <jmmv@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/44882 CVS commit: pkgsrc/devel/atf
Date: Tue, 14 Jun 2011 13:55:15 +0000

 Module Name:	pkgsrc
 Committed By:	jmmv
 Date:		Tue Jun 14 13:55:15 UTC 2011

 Modified Files:
 	pkgsrc/devel/atf: Makefile PLIST distinfo
 Added Files:
 	pkgsrc/devel/atf: buildlink3.mk

 Log Message:
 Update to 0.14:

 Experimental version released on June 14th, 2011.

 * Added a pkg-config file for atf-sh and an aclocal file to ease the
   detection of atf-sh from autoconf scripts.

 * Made the default test case body defined by atf_sh fail.  This is to
   ensure that test cases are properly defined in test programs and helps
   in catching typos in the names of the body functions.

 * PR bin/44882: Made atf-run connect the stdin of test cases to /dev/zero.
   This provides more consistent results with "normal" execution (in
   particular, when tests are executed detached from a terminal).

 * Made atf-run hardcode TZ=UTC for test cases.  It used to undefine TZ, but
   that does not take into account that libc determines the current timezone
   from a configuration file.

 * All test programs will now print a warning when they are not run through
   atf-run(1) stating that this is unsupported and may deliver incorrect
   results.

 * Added support for the 'require.files' test-case property.  This allows
   test cases to specify installed files that must be present for the test
   case to run.

 And, while doing this, add a buildlink3.mk file.


 To generate a diff of this commit:
 cvs rdiff -u -r1.16 -r1.17 pkgsrc/devel/atf/Makefile
 cvs rdiff -u -r1.15 -r1.16 pkgsrc/devel/atf/PLIST
 cvs rdiff -u -r0 -r1.1 pkgsrc/devel/atf/buildlink3.mk
 cvs rdiff -u -r1.13 -r1.14 pkgsrc/devel/atf/distinfo

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Julio Merino" <jmmv@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/44882 CVS commit: src/external/bsd/atf/dist
Date: Tue, 14 Jun 2011 15:23:30 +0000

 Module Name:	src
 Committed By:	jmmv
 Date:		Tue Jun 14 15:23:30 UTC 2011

 Update of /cvsroot/src/external/bsd/atf/dist
 In directory ivanova.netbsd.org:/tmp/cvs-serv17790

 Log Message:
 Import atf-0.14:

 Experimental version released on June 14th, 2011.

 * Added a pkg-config file for atf-sh and an aclocal file to ease the
   detection of atf-sh from autoconf scripts.

 * Made the default test case body defined by atf_sh fail.  This is to
   ensure that test cases are properly defined in test programs and helps
   in catching typos in the names of the body functions.

 * PR bin/44882: Made atf-run connect the stdin of test cases to /dev/zero.
   This provides more consistent results with "normal" execution (in
   particular, when tests are executed detached from a terminal).

 * Made atf-run hardcode TZ=UTC for test cases.  It used to undefine TZ, but
   that does not take into account that libc determines the current timezone
   from a configuration file.

 * All test programs will now print a warning when they are not run through
   atf-run(1) stating that this is unsupported and may deliver incorrect
   results.

 * Added support for the 'require.files' test-case property.  This allows
   test cases to specify installed files that must be present for the test
   case to run.

 Status:

 Vendor Tag:	TNF
 Release Tags:	atf-0-14

 U src/external/bsd/atf/dist/README
 U src/external/bsd/atf/dist/Atffile
 U src/external/bsd/atf/dist/atf-c.h
 U src/external/bsd/atf/dist/atf-c++.hpp
 U src/external/bsd/atf/dist/AUTHORS
 U src/external/bsd/atf/dist/COPYING
 U src/external/bsd/atf/dist/NEWS
 U src/external/bsd/atf/dist/Kyuafile
 U src/external/bsd/atf/dist/atf-c/error_fwd.h
 U src/external/bsd/atf/dist/atf-c/build.h
 U src/external/bsd/atf/dist/atf-c/check.h
 U src/external/bsd/atf/dist/atf-c/config.h
 U src/external/bsd/atf/dist/atf-c/error.h
 U src/external/bsd/atf/dist/atf-c/atf-c-api.3
 U src/external/bsd/atf/dist/atf-c/macros.h
 C src/external/bsd/atf/dist/atf-c/tc.h
 U src/external/bsd/atf/dist/atf-c/tp.h
 U src/external/bsd/atf/dist/atf-c/utils.h
 U src/external/bsd/atf/dist/atf-c/pkg_config_test.sh
 C src/external/bsd/atf/dist/atf-c/defs.h.in
 U src/external/bsd/atf/dist/atf-c/build.c
 U src/external/bsd/atf/dist/atf-c/check.c
 U src/external/bsd/atf/dist/atf-c/config.c
 U src/external/bsd/atf/dist/atf-c/error.c
 U src/external/bsd/atf/dist/atf-c/tc.c
 U src/external/bsd/atf/dist/atf-c/tp.c
 U src/external/bsd/atf/dist/atf-c/utils.c
 U src/external/bsd/atf/dist/atf-c/h_build.h
 U src/external/bsd/atf/dist/atf-c/atf_c_test.c
 U src/external/bsd/atf/dist/atf-c/build_test.c
 U src/external/bsd/atf/dist/atf-c/check_test.c
 U src/external/bsd/atf/dist/atf-c/config_test.c
 U src/external/bsd/atf/dist/atf-c/tc_test.c
 U src/external/bsd/atf/dist/atf-c/error_test.c
 U src/external/bsd/atf/dist/atf-c/macros_test.c
 U src/external/bsd/atf/dist/atf-c/tp_test.c
 U src/external/bsd/atf/dist/atf-c/utils_test.c
 U src/external/bsd/atf/dist/atf-c/atf-c.pc.in
 U src/external/bsd/atf/dist/atf-c/Atffile
 U src/external/bsd/atf/dist/atf-c/Kyuafile
 U src/external/bsd/atf/dist/atf-c/macros_h_test.c
 U src/external/bsd/atf/dist/atf-c/detail/process_helpers.c
 U src/external/bsd/atf/dist/atf-c/detail/test_helpers.c
 U src/external/bsd/atf/dist/atf-c/detail/test_helpers.h
 U src/external/bsd/atf/dist/atf-c/detail/dynstr.c
 U src/external/bsd/atf/dist/atf-c/detail/dynstr.h
 U src/external/bsd/atf/dist/atf-c/detail/env.c
 U src/external/bsd/atf/dist/atf-c/detail/env.h
 U src/external/bsd/atf/dist/atf-c/detail/fs.c
 U src/external/bsd/atf/dist/atf-c/detail/fs.h
 U src/external/bsd/atf/dist/atf-c/detail/list.c
 U src/external/bsd/atf/dist/atf-c/detail/list.h
 U src/external/bsd/atf/dist/atf-c/detail/map.c
 U src/external/bsd/atf/dist/atf-c/detail/map.h
 C src/external/bsd/atf/dist/atf-c/detail/process.c
 C src/external/bsd/atf/dist/atf-c/detail/process.h
 U src/external/bsd/atf/dist/atf-c/detail/sanity.c
 U src/external/bsd/atf/dist/atf-c/detail/sanity.h
 U src/external/bsd/atf/dist/atf-c/detail/text.c
 U src/external/bsd/atf/dist/atf-c/detail/text.h
 U src/external/bsd/atf/dist/atf-c/detail/tp_main.c
 U src/external/bsd/atf/dist/atf-c/detail/user.c
 U src/external/bsd/atf/dist/atf-c/detail/user.h
 U src/external/bsd/atf/dist/atf-c/detail/dynstr_test.c
 U src/external/bsd/atf/dist/atf-c/detail/env_test.c
 U src/external/bsd/atf/dist/atf-c/detail/fs_test.c
 U src/external/bsd/atf/dist/atf-c/detail/list_test.c
 U src/external/bsd/atf/dist/atf-c/detail/map_test.c
 U src/external/bsd/atf/dist/atf-c/detail/test_helpers_test.c
 C src/external/bsd/atf/dist/atf-c/detail/process_test.c
 U src/external/bsd/atf/dist/atf-c/detail/sanity_test.c
 U src/external/bsd/atf/dist/atf-c/detail/text_test.c
 U src/external/bsd/atf/dist/atf-c/detail/user_test.c
 U src/external/bsd/atf/dist/atf-c/detail/Atffile
 U src/external/bsd/atf/dist/atf-c/detail/Kyuafile
 U src/external/bsd/atf/dist/atf-c++/atf-c++-api.3
 U src/external/bsd/atf/dist/atf-c++/build.hpp
 U src/external/bsd/atf/dist/atf-c++/check.hpp
 U src/external/bsd/atf/dist/atf-c++/config.hpp
 U src/external/bsd/atf/dist/atf-c++/macros.hpp
 U src/external/bsd/atf/dist/atf-c++/tests.hpp
 U src/external/bsd/atf/dist/atf-c++/utils.hpp
 U src/external/bsd/atf/dist/atf-c++/macros_hpp_test.cpp
 U src/external/bsd/atf/dist/atf-c++/build.cpp
 U src/external/bsd/atf/dist/atf-c++/check.cpp
 U src/external/bsd/atf/dist/atf-c++/config.cpp
 C src/external/bsd/atf/dist/atf-c++/tests.cpp
 U src/external/bsd/atf/dist/atf-c++/atf_c++_test.cpp
 U src/external/bsd/atf/dist/atf-c++/build_test.cpp
 U src/external/bsd/atf/dist/atf-c++/check_test.cpp
 U src/external/bsd/atf/dist/atf-c++/config_test.cpp
 U src/external/bsd/atf/dist/atf-c++/macros_test.cpp
 U src/external/bsd/atf/dist/atf-c++/tests_test.cpp
 U src/external/bsd/atf/dist/atf-c++/utils_test.cpp
 U src/external/bsd/atf/dist/atf-c++/Atffile
 U src/external/bsd/atf/dist/atf-c++/atf-c++.pc.in
 U src/external/bsd/atf/dist/atf-c++/Kyuafile
 U src/external/bsd/atf/dist/atf-c++/pkg_config_test.sh
 U src/external/bsd/atf/dist/atf-c++/detail/test_helpers.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/test_helpers.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/application.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/application.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/env.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/env.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/exceptions.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/exceptions.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/expand.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/expand.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/fs.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/fs.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/parser.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/parser.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/process.cpp
 C src/external/bsd/atf/dist/atf-c++/detail/process.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/sanity.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/text.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/text.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/ui.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/ui.hpp
 U src/external/bsd/atf/dist/atf-c++/detail/application_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/Atffile
 U src/external/bsd/atf/dist/atf-c++/detail/env_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/exceptions_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/expand_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/fs_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/parser_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/process_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/sanity_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/text_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/ui_test.cpp
 U src/external/bsd/atf/dist/atf-c++/detail/Kyuafile
 U src/external/bsd/atf/dist/atf-config/atf-config.1
 U src/external/bsd/atf/dist/atf-config/integration_test.sh
 U src/external/bsd/atf/dist/atf-config/atf-config.cpp
 U src/external/bsd/atf/dist/atf-config/Atffile
 U src/external/bsd/atf/dist/atf-config/Kyuafile
 U src/external/bsd/atf/dist/atf-report/atf-report.1
 U src/external/bsd/atf/dist/atf-report/tests-results.css
 U src/external/bsd/atf/dist/atf-report/atf-report.cpp
 U src/external/bsd/atf/dist/atf-report/reader.cpp
 U src/external/bsd/atf/dist/atf-report/reader.hpp
 U src/external/bsd/atf/dist/atf-report/fail_helper.cpp
 U src/external/bsd/atf/dist/atf-report/misc_helpers.cpp
 U src/external/bsd/atf/dist/atf-report/pass_helper.cpp
 U src/external/bsd/atf/dist/atf-report/reader_test.cpp
 U src/external/bsd/atf/dist/atf-report/tests-results.dtd
 U src/external/bsd/atf/dist/atf-report/tests-results.xsl
 U src/external/bsd/atf/dist/atf-report/Atffile
 U src/external/bsd/atf/dist/atf-report/Kyuafile
 U src/external/bsd/atf/dist/atf-report/integration_test.sh
 U src/external/bsd/atf/dist/atf-run/atf-run.1
 U src/external/bsd/atf/dist/atf-run/requirements.cpp
 C src/external/bsd/atf/dist/atf-run/atf-run.cpp
 U src/external/bsd/atf/dist/atf-run/atffile.cpp
 U src/external/bsd/atf/dist/atf-run/atffile.hpp
 U src/external/bsd/atf/dist/atf-run/config.cpp
 U src/external/bsd/atf/dist/atf-run/config.hpp
 U src/external/bsd/atf/dist/atf-run/fs.cpp
 U src/external/bsd/atf/dist/atf-run/fs.hpp
 U src/external/bsd/atf/dist/atf-run/io.cpp
 U src/external/bsd/atf/dist/atf-run/io.hpp
 U src/external/bsd/atf/dist/atf-run/bad_metadata_helper.c
 U src/external/bsd/atf/dist/atf-run/requirements.hpp
 U src/external/bsd/atf/dist/atf-run/signals.cpp
 U src/external/bsd/atf/dist/atf-run/signals.hpp
 C src/external/bsd/atf/dist/atf-run/test-program.cpp
 U src/external/bsd/atf/dist/atf-run/test-program.hpp
 U src/external/bsd/atf/dist/atf-run/timer.cpp
 U src/external/bsd/atf/dist/atf-run/timer.hpp
 U src/external/bsd/atf/dist/atf-run/user.cpp
 U src/external/bsd/atf/dist/atf-run/user.hpp
 U src/external/bsd/atf/dist/atf-run/Atffile
 U src/external/bsd/atf/dist/atf-run/atffile_test.cpp
 U src/external/bsd/atf/dist/atf-run/requirements_test.cpp
 U src/external/bsd/atf/dist/atf-run/config_test.cpp
 U src/external/bsd/atf/dist/atf-run/expect_helpers.c
 U src/external/bsd/atf/dist/atf-run/fs_test.cpp
 U src/external/bsd/atf/dist/atf-run/io_test.cpp
 U src/external/bsd/atf/dist/atf-run/misc_helpers.cpp
 U src/external/bsd/atf/dist/atf-run/pass_helper.cpp
 C src/external/bsd/atf/dist/atf-run/test_program_test.cpp
 U src/external/bsd/atf/dist/atf-run/several_tcs_helper.c
 U src/external/bsd/atf/dist/atf-run/signals_test.cpp
 U src/external/bsd/atf/dist/atf-run/zero_tcs_helper.c
 U src/external/bsd/atf/dist/atf-run/user_test.cpp
 U src/external/bsd/atf/dist/atf-run/Kyuafile
 C src/external/bsd/atf/dist/atf-run/integration_test.sh
 U src/external/bsd/atf/dist/atf-run/sample/atf-run.hooks
 U src/external/bsd/atf/dist/atf-run/sample/common.conf
 U src/external/bsd/atf/dist/atf-run/share/atf-run.hooks
 U src/external/bsd/atf/dist/atf-sh/atf-check.1
 U src/external/bsd/atf/dist/atf-sh/atf-sh.1
 U src/external/bsd/atf/dist/atf-sh/atf-sh-api.3
 U src/external/bsd/atf/dist/atf-sh/atf_check_test.sh
 C src/external/bsd/atf/dist/atf-sh/atf-check.cpp
 U src/external/bsd/atf/dist/atf-sh/atf-sh.cpp
 U src/external/bsd/atf/dist/atf-sh/libatf-sh.subr
 N src/external/bsd/atf/dist/atf-sh/atf-sh.pc.in
 U src/external/bsd/atf/dist/atf-sh/Atffile
 U src/external/bsd/atf/dist/atf-sh/Kyuafile
 U src/external/bsd/atf/dist/atf-sh/misc_helpers.sh
 U src/external/bsd/atf/dist/atf-sh/atf-check_test.sh
 U src/external/bsd/atf/dist/atf-sh/config_test.sh
 U src/external/bsd/atf/dist/atf-sh/integration_test.sh
 U src/external/bsd/atf/dist/atf-sh/normalize_test.sh
 U src/external/bsd/atf/dist/atf-sh/tc_test.sh
 U src/external/bsd/atf/dist/atf-sh/tp_test.sh
 U src/external/bsd/atf/dist/atf-version/generate-revision.sh
 U src/external/bsd/atf/dist/atf-version/atf-version.1
 U src/external/bsd/atf/dist/atf-version/atf-version.cpp
 U src/external/bsd/atf/dist/doc/atf-test-program.1
 U src/external/bsd/atf/dist/doc/atf-formats.5
 C src/external/bsd/atf/dist/doc/atf-test-case.4
 U src/external/bsd/atf/dist/doc/atf.7.in
 U src/external/bsd/atf/dist/test-programs/meta_data_test.sh
 U src/external/bsd/atf/dist/test-programs/c_helpers.c
 U src/external/bsd/atf/dist/test-programs/cpp_helpers.cpp
 U src/external/bsd/atf/dist/test-programs/Atffile
 U src/external/bsd/atf/dist/test-programs/Kyuafile
 U src/external/bsd/atf/dist/test-programs/common.sh
 U src/external/bsd/atf/dist/test-programs/sh_helpers.sh
 U src/external/bsd/atf/dist/test-programs/config_test.sh
 U src/external/bsd/atf/dist/test-programs/expect_test.sh
 U src/external/bsd/atf/dist/test-programs/fork_test.sh
 U src/external/bsd/atf/dist/test-programs/result_test.sh
 U src/external/bsd/atf/dist/test-programs/srcdir_test.sh

 13 conflicts created by this import.
 Use the following command to help the merge:

 	cvs checkout -jTNF:yesterday -jTNF src/external/bsd/atf/dist

State-Changed-From-To: suspended->closed
State-Changed-By: jmmv@NetBSD.org
State-Changed-When: Tue, 14 Jun 2011 15:29:47 +0000
State-Changed-Why:
atf-0.14 implements this and has just been imported.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.