This Document Is a First Proposal for the Form of the Outputs from the SCA Assembly Testing

Total Page:16

File Type:pdf, Size:1020Kb

This Document Is a First Proposal for the Form of the Outputs from the SCA Assembly Testing

Test Assertions for the SCA C Client and Implementation Specification This document defines the Test Assertions for the SCA C Client and Implementation specification.

The test assertions in this document follow the format defined in the OASIS Test Assertion Guidelines specification: http://www.oasis- open.org/apps/group_public/download.php/30070/TestAssertionsGuidelines-draft-0- 9-9-6.pdf

Example Test Assertion Test assertions are presented in a tabular format with rows corresponding to the entry types defined in the OASIS Test Assertions Guidelines

Assertion ID C-TA-xxxx Source [Cx00yy] Target element of composite file Prerequisites The [ element] has a @foobar attribute Predicate The @foobar attribute of [the element] is a URI that references a foobar element in the SCA Domain- Prescription Mandatory Level Tags foobar references

Assertion ID: Is a unique ID for the test assertion. Its format starts with a 3 letter string that identifies the specification to which it relates - "C" is for the SCA C Client and Implementation specification. This is followed by "-TA-" to indicate that this identifier is for a test assertion. This is then followed by a unique 4 digit number

Source: Is the identifier(s) of the normative statement(s) in the specification to which this assertion relates.

Target: Identifies the target which is addressed by this assertion. This is typically some SCA document element, but possibly could identify an SCA runtime and its behaviour.

Prerequisites: Defines any prerequisites for this test assertion. The prerequisites may be defined in terms of one or more other test assertions that must be true.

Predicate: The meat of the assertion - something that should evaluate to true or false for the given target.

Prescription Level: Mandatory (for MUST requirements) or Preferred (for SHOULD requirements) or Permitted (for MAY requirements).

SCA C Test Assertions V0.01 1 Feb 05 2009 Tags: Zero or more labels that may be attached to this test assertion - these tags can be used to group sets of assertions. Test Assertions

Assertion ID C-TA-2001 Source [C20001] Target of Prerequisites declares at least one Predicate Each operation of each declared by the is implemented by the Prescription Mandatory Level Tags “implementation.c”

Assertion ID C-TA-2002 Source [C20003] Target @scope attribute of of a Prerequisites @scope attribute of the is either not present or present and has a value of “stateless” or “composite”. Predicate The is deployed and run. Prescription Mandatory Level Tags “implementation.cpp” “scope”

Assertion ID C-TA-2003 Source [C20004] Target @init or @destroy attribute of a of an Prerequisites Either the @init or the @destroy attribute of a element of an has a value of true. Predicate The funcition identified by the @name attribute of the element has no parameters and a return type of void. Prescription Mandatory Level Tags “implementation.c” “lifecycle functions”

Assertion ID C-TA-2004 Source [C20014] Target @scope attribute of a of a Prerequisites @scope attribute of the is either not present or present and has a value of “stateless”.

SCA C Test Assertions V0.01 2 Feb 05 2009 Predicate An implementation instance only executes on one execution thread. Prescription Mandatory Level Tags “implementation.c” “scope” “stateless scope”

Assertion ID C-TA-2005 Source [C20014] Target @scope attribute of a of a Prerequisites @scope attribute of the is either not present or present and has a value of “stateless” Predicate Only one operation of the component is invoked in an implementation instance lifecycle. Prescription Mandatory Level Tags “implementation.c” “scope” “stateless scope”

Assertion ID C-TA-2006 Source [C20015] Target @scope attribute of a of a Prerequisites @scope attribute of the has a value of “composite”. Predicate Multiple execution threads can simultaneously use an implementation instance. Prescription Mandatory Level Tags “implementation.c” “scope” “composite scope”

Assertion ID C-TA-2007 Source [C20006] Target element of an Prerequisites @header attribute of the references a header file containing function declarations that are not part of the interface. Predicate A function is included in the interface if and only if it named by a element of the . Prescription Mandatory Level Tags “interface.c”

Assertion ID C-TA-2008 Source [C20007] Target element of an Prerequisites @callbackHeader attribute of the references a header file containing function declarations that are not part of the callback

SCA C Test Assertions V0.01 3 Feb 05 2009 interface. Predicate A function is included in the callback interface if and only if it named by a element of the . Prescription Mandatory Level Tags “interface.c” “callbacks”

Assertion ID C-TA-2009 Source [C20008] Target element of an Prerequisites @header attribute of the references a header file that defines operations using message formats. Predicate For each operation defined by message formats in the header file there is a corresponding element of the with @input and @output elements that identify the request and response message formats of the header file respectively. Prescription Mandatory Level Tags “interface.c” “operation message formats”

Assertion ID C-TA-2010 Source [C20008] Target element of an Prerequisites @callbackHeader attribute of the references a header file that defines operations using message formats. Predicate For each operation defined by message formats in the header file there is a corresponding element of the with @input and @output elements that identify the request and response message formats of the header file respectively. Prescription Mandatory Level Tags “interface.c” “operation message formats” “callbacks”

Assertion ID C-TA-2011 Source [C20009] Target element in a element Prerequisites The element has more than one elements. Predicate The @name attribute of [the element] is not equal to the @name attribute of any other element in the . Prescription Mandatory Level Tags “interface.c”

SCA C Test Assertions V0.01 4 Feb 05 2009 Assertion ID C-TA-2012 Source [C20010] Target element in a element Prerequisites The element has more than one elements. Predicate The @name attribute of [the element] is not equal to the @name attribute of any other element in the . Prescription Mandatory Level Tags “interface.c” “callbacks”

Assertion ID C-TA-2013 Source [C20011] Target @input attribute of a of an Prerequisites @header attribute of the references a header file that defines operations using message formats. Predicate The @input attribute names the struct for the request message format of the operation. Prescription Mandatory Level Tags “interface.c” “operation message formats”

Assertion ID C-TA-2014 Source [C20011] Target @input attribute of a of an Prerequisites @callbackHeader attribute of the references a header file that defines operations using message formats. Predicate The @input attribute names the struct for the request message format of the callback operation. Prescription Mandatory Level Tags “interface.c” “operation message formats” “callbacks”

Assertion ID C-TA-2015 Source [C20012] Target @output attribute of a of an Prerequisites @header attribute of the references a header file that defines operations using message formats. Predicate The @output attribute names the struct for the response message format of the operation.

SCA C Test Assertions V0.01 5 Feb 05 2009 Prescription Mandatory Level Tags “interface.c” “operation message formats”

Assertion ID C-TA-2016 Source [C20012] Target @output attribute of a of an Prerequisites @callbackHeader attribute of the references a header file that defines operations using message formats. Predicate The @output attribute names the struct for the response message format of the callback operation. Prescription Mandatory Level Tags “interface.c” “operation message formats” “callbacks”

Assertion ID C-TA-2017 Source [C20013] Target element in a element Prerequisites The element has more than one elements. Predicate The @name attribute of [the element] is not equal to the @name attribute of any other element in the . Prescription Mandatory Level Tags “implementation.c”

Assertion ID C-TA-3001 Source [C30001] Target element of a Prerequisites Predicate For each operation of the reference there is a generated proxy function. Prescription Permitted Level Tags “proxy functions”

Assertion ID C-TA-3002 Source [C30001] Target element of a Prerequisites The defines a callback interface. Predicate For each callback operation of the service there is a generated proxy function.

SCA C Test Assertions V0.01 6 Feb 05 2009 Prescription Permitted Level Tags “proxy functions” “callbacks”

Assertion ID C-TA-4001 Source [C40001] Target of Prerequisites Operation of the is designated as using a oneway message exchange pattern. Predicate The request is queued for later delivery. Prescription Permitted Level Tags “oneway operations”

Assertion ID C-TA-6001 Source [C60001] Target Prerequisites Predicate An can use the functions of the Synchronous Programming Interface and the Asynchronous Programming Interface. Prescription Mandatory Level Tags “programming interface”

Assertion ID C-TA-6002 Source [C60002] Target of a Prerequisites The declares a Predicate The can use SCAPropertyDataObject to retrieve the value of the property. Prescription Permitted Level Tags “programming interface”

Assertion ID C-TA-6003 Source [C60003] Target Prerequisites The is a program, not a collection of functions. Predicate The can use the SCAService(), SCAOperation(), SCAMessageIn() and SCAMessageOut() functions. Prescription Permitted Level

SCA C Test Assertions V0.01 7 Feb 05 2009 Tags “programming interface” “program-based implementations”

Assertion ID C-TA-7001 Source [C70001] Target element Prerequisites The domain has more than one . Predicate The @name attribute of [the element] is not equal to the @name attribute of any other element in the domain. Prescription Mandatory Level Tags “export.c”

Assertion ID C-TA-7002 Source [C70002] Target element Prerequisites A contribution has more that one . Predicate The @name attribute of [the element] is not equal to the @name attribute of any other element in the contribution. Prescription Mandatory Level Tags “import.c”

Assertion ID C-TA-9001 Source [C90001] Target Prerequisites A header file is named by either the @header or the @callbackHeader attribute of an Predicate The header file declares at least one function or at least one message format struct. Prescription Mandatory Level Tags “interface.c” “header files”

Assertion ID C-TA-9002 Source [C90002] Target Prerequisites A file is identified by the attributes of an as defining an interface. Predicate The function or message formats struct used to define the interface do not use any macros. Prescription Mandatory Level

SCA C Test Assertions V0.01 8 Feb 05 2009 Tags “interface.c” “header files”

Assertion ID C-TA-A001 Source [CA0001] Target SCA annotations Prerequisites A source file contains SCA annotations is processed. Predicate SCDL file(s) containing elements, attributes and values corresponding to the annotations are generated. Prescription Mandatory Level Tags “SCA annotations”

Assertion ID C-TA-A002 Source [CA0001] Target SCA annotations Prerequisites A header file contains SCA annotations is referenced by an Predicate The SCA annotations are ignored during component execution. Prescription Mandatory Level Tags “SCA annotations”

Assertion ID C-TA-A003 Source [CA0002] Target SCA annotation Prerequisites A source file contains SCA annotations with sequential comments containing annotations related to the same program element is processed. Predicate The annotations are processed as if they were in one comment block. Prescription Preferred Level Tags “SCA annotations”

Assertion ID C-TA-A004 Source [CA0003] Target @WebService annotation Prerequisites A file contains a @WebService annotation, but not a corresponding @Interface annotation. Predicate The generated SCDL is the same as if the file contained an @Interface annotation with a name value equal to the name value of the @WebService annotation. Prescription Mandatory Level

SCA C Test Assertions V0.01 9 Feb 05 2009 Tags “SCA annotations” “WSDL annotations”

Assertion ID C-TA-A005 Source [CA0004] Target @WebFunction annotation Prerequisites A file contains a @WebFunction annotation that does not have exclude="true", but not a corresponding @Operation annotation. Predicate The generated SCDL is the same as if the file contained an @Operation annotation with a name value equal to the operationName value of the @WebFunction annotation. Prescription Mandatory Level Tags “SCA annotations” “WSDL annotations”

Assertion ID C-TA-A006 Source [CA0005] Target @WebOperation annotation Prerequisites A file contains a @WebOperation annotation that does not have exclude="true", but not a corresponding @Operation annotation. Predicate The generated SCDL is the same as if the file contained an @Operation annotation with a name value equal to the operationName value of the @WebService annotation, an input value equal to the name of the struct the @WebOperation annotation is applied to, and an output value equal to the response value of the @WebOperation annotation. Prescription Mandatory Level Tags “SCA annotations” “WSDL annotations”

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate

SCA C Test Assertions V0.01 10 Feb 05 2009 Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source

SCA C Test Assertions V0.01 11 Feb 05 2009 Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 12 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID

SCA C Test Assertions V0.01 13 Feb 05 2009 Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription

SCA C Test Assertions V0.01 14 Feb 05 2009 Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target

SCA C Test Assertions V0.01 15 Feb 05 2009 Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 16 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription

SCA C Test Assertions V0.01 17 Feb 05 2009 Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source

SCA C Test Assertions V0.01 18 Feb 05 2009 Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 19 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate

SCA C Test Assertions V0.01 20 Feb 05 2009 Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source

SCA C Test Assertions V0.01 21 Feb 05 2009 Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 22 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate

SCA C Test Assertions V0.01 23 Feb 05 2009 Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source

SCA C Test Assertions V0.01 24 Feb 05 2009 Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 25 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites

SCA C Test Assertions V0.01 26 Feb 05 2009 Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 27 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level

SCA C Test Assertions V0.01 28 Feb 05 2009 Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites

SCA C Test Assertions V0.01 29 Feb 05 2009 Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID

SCA C Test Assertions V0.01 30 Feb 05 2009 Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

SCA C Test Assertions V0.01 31 Feb 05 2009 Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate

SCA C Test Assertions V0.01 32 Feb 05 2009 Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source

SCA C Test Assertions V0.01 33 Feb 05 2009 Target Prerequisites Predicate Prescription Level Tags

Assertion ID Source Target Prerequisites Predicate Prescription Level Tags

Cross Mapping of Conformance Statements to Assertions

SCA C Test Assertions V0.01 34 Feb 05 2009 Conformance statement Test Assertion C20001 C-TA-2001 C20002 C20003 C-TA-2002 C20004 C-TA-2003 C20006 C-TA-2007 C20007 C-TA-2008 C20008 C-TA-2009 C-TA-2010 C20009 C-TA-2011 C20010 C-TA-2012 C20011 C-TA-2013 C-TA-2014 C20012 C-TA-2015 C-TA-2016 C20013 C-TA-2017 C20014 C-TA-2004 C-TA-2005 C20015 C-TA-2006

Conformance statement Test Assertion C30001 C-TA-3001 C-TA-3002

Conformance statement Test Assertion C40001 C-TA-4001

SCA C Test Assertions V0.01 35 Feb 05 2009 Conformance statement Test Assertion C60001 C-TA-6001 C60002 C-TA-6002 C60003 C-TA-6003

Conformance statement Test Assertion C70001 C-TA-7001 C70002 C-TA-7002

Conformance statement Test Assertion C90001 C-TA-9001 C90001 C-TA-9002

Conformance statement Test Assertion C100001

SCA C Test Assertions V0.01 36 Feb 05 2009 Conformance statement Test Assertion CA0001 C-TA-A001 C-TA-A002 CA0002 C-TA-A003 CA0003 C-TA-A004 CA0004 C-TA-A005 CA0005 C-TA-A006

Conformance statement Test Assertion CC0001

Conformance statement Test Assertion CD0001

SCA C Test Assertions V0.01 37 Feb 05 2009 Conformance statement Test Assertion CF0001

SCA C Test Assertions V0.01 38 Feb 05 2009

Recommended publications