|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0802 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 0802.
Report 0802 Actions
Problem Report Number 0802 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0317 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1996-11-01 08:00 Product Standard Commands and Utilities V2 (UNIX 95) Certification Program The Open Brand certification program Test Suite VSC version 4.1.6 Test Identification POSIX.cmd/dd 30 Problem Summary TSD4C.00194 This test may fail on implementations with printf commands that correctly parse \0000 as an octal representation of NULL. Problem Text
Test 30, which tests:
dd if=example2.txt ibs=10 obs=10 count=1 seek=1
fails because the expected output, which is stored in a file the test creates,
dd_eso_30_2, is specified incorrectly. It is missing an ASCII '0'.
The output expected from dd, when using example2.txt as shown, is ten null bytes
followed by ASCII zero through ASCII nine.
The printf used to define the expected output is:
printf "\000\000\000\000\000\000\000\000\000\0000123456789" > dd_eso_30_2
This yields ten null bytes followed by ASCII one through ASCII nine, not ASCII
zero through ASCII nine.
The printf command used to create the expected output uses \0ddd format, which
is defined on page 584 of the CAE Commands and Utilities Specification Issue 4,
Version 2:
-\0ddd, where ddd is a [SIC] zero-,one-,two- or three-digit octal number that
will be converted to a byte with the numeric value specified by the
octal number.
Thus, the printf in question uses the \0dd format (\000) nine times to generate
the first nine null bytes. The tenth byte is parsed as \0ddd format (\0000),
treating the fourth '0' as part of the \0ddd construction, rather than as the
first zero of the ASCII string zero through nine; the printf should have a
fifth zero, specified before the ASCII one, to mark the start of the ASCII
string. In other words, the printf should appear as follows:
printf "\000\000\000\000\000\000\000\000\000\00000123456789" > dd_eso_30_2
^---- ASCII zero
\0ddd format declaration of NULL ----^^^^^
The fifth zero then falls after the specification of NULL, representing an ASCII
zero as it should.
Test Output
520|88 1 28977 1 1|Assertion #30 (A): Verify \'dd (ibs|obs|cbs|bs)=expr\' works
520|88 1 28977 1 2| <LC> with block.
520|88 1 28977 1 11|Testing: if=example2.txt ibs=10 count=1
520|88 1 28977 1 12|Testing: if=example2.txt ibs=10 obs=10 count=1 seek=1
520|88 1 28977 1 13|Command failed: 'cmp dd_out_30_2 dd_eso_30_2 >/dev/null 2>&
520|88 1 28977 1 14| <LC> 1'
520|88 1 28977 1 15|Testing: if=example2.txt cbs=10 conv=block
520|88 1 28977 1 16|Testing: if=example2.txt bs=10 count=1
220|88 1 1 17:52:38|FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We agree this is a test suite deficiency in the test
suite version(s) listed.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 0802
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority