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:
(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.