PCR 2007 (A-2007) - Issues with MTL Agave RFS
Summary: Issues with MTL Agave RFS
Status: CLOSED FIXED
Alias: A-2007
Product: MTL
Classification: Deos
Component: library (show other PCRs)
Version: Agave
Hardware: TBD Deos
: By Cert
: Defect
Target Milestone: mainline
Assignee: .Misc
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2005-02-15 00:00 MST by cf
Modified: 2008-03-24 09:30 MST (History)
0 users

See Also:
Impact Assessment: ---
Organization: ---
cassandra.fleetwood: Requirements- (cassandra.fleetwood)
gkindorf: Code-
gkindorf: TestCases+
gkindorf: TestProcedures+
cassandra.fleetwood: Other- (cassandra.fleetwood)


Attachments

Note You need to log in before you can comment on or make changes to this PCR.
Description alarson 2005-09-22 17:07:01 MST
The following issues have been noted regarding the MTL Agave structural coverage
analysis:

1. config.cpp has been branched in the Common VSS database, so that the file in
\mtl is no longer shared with \common.  The change that was made for MTL should
be made under \common, and the file should be re-shared from \common to \mtl.

2. The instrumented_optimized configuration for x86 and ppc has a missed branch
from line 90 of thrdmap.cpp (in the deleteAllEntries function).  The missed
branch is the result of a 'for' loop's entry condition test.  To cover this
missed branch, a test case is needed in which
transportClientDeleteAllConnections is called when the client thread quota
and/or the client connection quota are zero in the transport configuration
identifier section of the configuration file.

3. The instrumented_optimized configuration for x86 has a missed branch from
line 145 of config.cpp that cannot be covered by a test case.  The missed branch
is the result of a 'for' loop's entry condition test, and the scenario in which
the loop is never entered.  The code should be updated to eliminate the missed
branch.  Here's the old code that results in the missed branch:

    // Structural coverage note: call this function with a configuration file that includes a blank line
    // terminated with \n and another terminated with \r.
    if ((!lineCrossesPageBoundary) && ((*linePtr == '\n') || (*linePtr == '\r'))) ch = linePtr; // Skip blank line
    else
    {
      // Determine the number of characters in the current line.
      // Structural coverage note: call this function with a configuration file that includes a non-blank 
      // line terminated with \n and another non-blank line terminated with \r.
      for (ch = linePtr; (*ch != '\n') && (*ch != '\r') && (ch != endOfPagePtr); ch++);
      lineSize = mymin(((int)ch-(int)linePtr+1), (LINE_BUFFER_SIZE-1-previousLineSize)); // Need +1 in case last line of file doesn't have \n or \r.

Here's the code restructured to eliminate the missed branch (WARNING: This code
change has not been tested as of 2-18-05):

    // Determine the number of characters in the current line.
    // Structural coverage note: 
    // - Call this function with a configuration file that includes a non-blank 
    //   line terminated with \n and another non-blank line terminated with \r.
    // - Call this function with a configuration file that includes a blank line
    //   terminated with \n and another blank line terminated with \r.
    for (ch = linePtr; (*ch != '\n') && (*ch != '\r') && (ch != endOfPagePtr); ch++);

    // Process the line if it is not a blank line
    if (lineCrossesPageBoundary || (ch != linePtr))
    {
      lineSize = mymin(((int)ch-(int)linePtr+1), (LINE_BUFFER_SIZE-1-previousLineSize)); // Need +1 in case last line of file doesn't have \n or \r.


TRACK Comments:

JBR20050218: SAS classification: Defect
The deficiencies described by this PCR do not have any impact on the operational
capability of the Mailbox Transport Library, or its ability to meet its
requirements.  Therefore a classification of Defect is recommended.


PCR moved from Track to bugzilla by Aaron.Larson@Honeywell.com 2005-09-22 17:07
Comment 1 sb 2006-05-05 11:48:22 MST
Update Target Milestone per 3/2006 Deos ADIRU Final EASA audit.
Comment 2 Andrei Davidov 2008-03-05 13:51:36 MST
Committed SVNRevision 7123.

Resolved issue 2.
Comment 3 Andrei Davidov 2008-03-07 13:59:49 MST
Committed SVNRevision 7186.

Corrected during review process.
Comment 4 Andrei Davidov 2008-03-19 10:27:06 MST
Committed SVNRevision 7467.

Resolved issue 2.
Comment 5 Andrei Davidov 2008-03-19 10:28:26 MST
Committed SVNRevision 7469.

Resolved issue 2.
Comment 6 Andrei Davidov 2008-03-19 11:03:06 MST
Committed SVNRevision 7470.

Resolved issue 2.
Comment 7 Andrei Davidov 2008-03-20 08:21:33 MST
Committed SVNRevision 7512.

Resolved issue 2.
Comment 8 gkindorf 2008-03-24 09:29:18 MST
Issue #1 was resolved by environmental changes (were in SVN now, not in VSS).  The /common mentioned is now an actual SVN 'component' that is used with the svn:externals feature.