|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1045 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1045.
Report 1045 Actions
Problem Report Number 1045 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0284 Raised 2001-04-23 08:00 Updated 2003-03-13 08:00 Published null Product Standard Commands and Utilities V3 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSC version 5.1.2 Test Identification XOPEN.cmd/fuser 1028, 1029 Problem Summary PG4C.00136 These tests may fail on fast systems due to a timing problem. However, a work-around can be used. Problem Text
On faster machines, the test devlops timing problems.
Snippet from the test code:
sleep 120 > 1028.1.tst &
if [ $? -ne 0 ]; then
SetResult $TET_UNRESOLVED "Command failed: 'sleep 120 > 1028.1.tst &'"
return
fi
uid_1028_1=$!
if [ $? -ne 0 ]; then
SetResult $TET_UNRESOLVED "Command failed: 'uid_1028_1=$!'"
return
fi
sleep 120 > 1028.2.tst &
if [ $? -ne 0 ]; then
SetResult $TET_UNRESOLVED "Command failed: 'sleep 120 > 1028.2.tst &'"
return
fi
uid_1028_2=$!
if [ $? -ne 0 ]; then
SetResult $TET_UNRESOLVED "Command failed: 'uid_1028_2=$!'"
return
fi
ExecWithPriv ALL_PRIV fuser `pwd` 1028.1.tst 1028.2.tst > 1028.out 2>&1
if [ $? -ne 0 ]; then
SetResult $TET_UNRESOLVED "Command failed: 'ExecWithPriv ALL_PRIV fuser \`
pwd\` 1028.1.tst 1028.2.tst > 1028.out 2>&1'"
return
fi
In both tests, the code creates two sleep processes and redirects to
a file. The call to ExecWithPriv fails because the second file does
not yet exist in the directory when fuser is called.
By adding "ls -l >> /tmp/bar" just before the call to ExecWithPriv,
it can be seen that the second file has not been created yet.
If a "sleep 30" is added to the code before the call to ExecWithPriv,
the test will pass.
Test Output
***********************************************************************
/tset/XOPEN.cmd/fuser/fuser.ex 1 Unresolved
Test Information:
Assertion #1028 (A):
Command failed: 'ExecWithPriv ALL_PRIV fuser `pwd` 1028.1.
<LC> tst 1028.2.tst > 1028.out 2>&1'
***********************************************************************
/tset/XOPEN.cmd/fuser/fuser.ex 1 Unresolved
Test Information:
Assertion #1029 (A):
Command failed: 'ExecWithPriv ALL_PRIV fuser -u `pwd` 1029.1
<LC> .tst 1029.2.tst > 1029.out 2>&1'
***********************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
Since these two tests are the only tests of an important aspect of
the fuser utility's behaviour (the interspersing of stdout and stderr),
it would be preferable for a work-around to be used instead of
granting a Test Suite Deficiency.
The source code for the ExecWithPriv tool is user-modifiable, and if
the following change is made it should cure the timing problem.
In Src/ImplSpec/ExecWithPriv.c, insert the lines:
if (strcmp(argv[0], "fuser") == 0)
sleep(3);
before the line:
execvp(argv[0], argv);
It is recommended that this request is refused, and the submitter is
asked to implement the above work-around instead.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1045
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority