Skip to content
Snippets Groups Projects
Commit d6953a69 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Clean-up - Removing of unused variables and imports + some compilation errors

parent f16a8e0e
No related branches found
No related tags found
1 merge request!25Ae fixes
......@@ -7,13 +7,12 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $
* $Id: OneM2M_Functions.ttcn 339 2017-08-04 09:24:02Z reinaortega $
* $Id: OneM2M_Functions.ttcn 340 2017-08-07 12:08:41Z reinaortega $
* @desc Module containing functions for oneM2M
*
*/
module OneM2M_Functions {
import from LibCommon_Time {modulepar all;}
import from XSD all;
import from OneM2M_Templates all;
import from OneM2M_Types all;//{type XSD.ID};
......@@ -369,7 +368,7 @@ module OneM2M_Functions {
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop;
log(__SCOPE__&" INFO: Resource" & v_request.to_ & " deleted");
log(__SCOPE__&" INFO: Resource " & v_request.to_ & " deleted");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
......@@ -597,7 +596,6 @@ module OneM2M_Functions {
* @verdict
*/
function f_cse_deleteResource(in RequestPrimitive p_requestPrimitive) runs on CseTester {
var MsgIn v_response;
mcaPort.send(m_request(p_requestPrimitive));
......@@ -627,13 +625,11 @@ module OneM2M_Functions {
*/
function f_isResourcePresent (integer p_resourceIndex) runs on CseTester return boolean {
var ResponseStatusCode v_responseStatusCode;
//Check to see if the resource is present or not
mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_resourceIndex), f_getOriginator(p_resourceIndex))));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) {
tc_ac.stop;
setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex));
return true;
......@@ -659,9 +655,7 @@ module OneM2M_Functions {
*/
function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on CseTester return boolean {
var ResponseStatusCode v_responseStatusCode;
log(testcasename() & "Hierarchical method is required to check the non presence of the resource");
log(testcasename() & ":INFO: Hierarchical method is required to check the non presence of the resource");
vc_addressingMethod := e_hierarchical;
//Check to see if the resource has NOT been created
mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(p_parentIndex) & "/" & p_resourceName, f_getOriginator(p_parentIndex))));
......@@ -893,7 +887,7 @@ module OneM2M_Functions {
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request {
[] mcaPort.receive(mw_request(mw_notify(valueof(v_notificationRequest)))) -> value v_request {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ":INFO: Notification received");
v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
......
......@@ -7,7 +7,7 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
* $Id: OneM2M_Templates.ttcn 339 2017-08-04 09:24:02Z reinaortega $
* $Id: OneM2M_Templates.ttcn 340 2017-08-07 12:08:41Z reinaortega $
* @desc Module containing templates for oneM2M
*
*/
......@@ -15,7 +15,6 @@ module OneM2M_Templates {
import from XSD all;
import from OneM2M_Types all;
import from OneM2M_TestSystem all;
import from OneM2M_TypesAndValues all;
//import from OneM2M_AdditionalTypes all;
import from OneM2M_Pixits all;
......@@ -399,7 +398,7 @@ module OneM2M_Templates {
primitiveContent:= {subscription := m_contentUpdateSubscription}
};
template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
to_ := p_locResourceAddress,
requestIdentifier := "m_updateLocationPolicy",
primitiveContent := {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
......@@ -902,7 +901,7 @@ module OneM2M_Templates {
primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase}
};
template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000), //the requestIdentifier is supposed to be set similar as "C190XX7T/001" by prepending the AE-ID-Stem and slash(‘/’) in front of it
resourceType := int10,
......@@ -936,7 +935,7 @@ module OneM2M_Templates {
/**
* @desc Reception template for SemanticDescriptor creation
*/
template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template (present) SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
resourceType := int24,
primitiveContent := {semanticDescriptor := p_semanticDescriptor}
};
......@@ -1065,7 +1064,7 @@ module OneM2M_Templates {
* @desc Base NOTIFY request primitive
*/
template RequestPrimitive mw_notify(in template Notification p_notification) modifies mw_notifyBase := {
template RequestPrimitive mw_notify(in template (present) Notification p_notification) modifies mw_notifyBase := {
primitiveContent := {notification := p_notification}
};
......@@ -1307,7 +1306,7 @@ module OneM2M_Templates {
* @param p_accessControlPolicyIds ACP IDs for the Group
* @param p_name Resource name
*/
template (value) Group_optional m_contentCreateGroup ( in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
template (value) Group_optional m_contentCreateGroup ( in template (value) XSD.PositiveInteger p_maxNrOfMembers,
in template (value) ListOfURIs p_memberIds,
in template (omit) AcpType p_accessControlPolicyIds,
in template (omit) MemberType p_memberType := omit,
......@@ -1765,7 +1764,7 @@ module OneM2M_Templates {
choice := omit //NA
};
template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod, in template (value) NodeID p_locationTargetID, in template (value) XSD.AnyURI p_locationServerAddress) := {
template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
resourceName := c_defaultLocationPolicyResourceName, //O
resourceType := omit, //NP
resourceID := omit, //NP
......@@ -1779,7 +1778,7 @@ module OneM2M_Templates {
announceTo := omit, //O
announcedAttribute := omit, //O
locationSource := p_locationSource, //M
locationUpdatePeriod := {p_locationUpdatePeriod}, //O
locationUpdatePeriod := p_locationUpdatePeriod, //O
locationTargetID := p_locationTargetID, //O
locationServer := p_locationServerAddress,//O
locationContainerID := omit, //NP
......@@ -3233,7 +3232,7 @@ module OneM2M_Templates {
}
template Notification mw_contentNotification (in template Representation p_representation) modifies mw_contentNotificationBase := {
template Notification mw_contentNotification (in template (present) Representation p_representation) modifies mw_contentNotificationBase := {
notificationEvent := {
representation := p_representation,
operationMonitor := *,
......@@ -3396,7 +3395,7 @@ module OneM2M_Templates {
* @param p_statusCode Status code
* @param p_requestId Request ID of the corresponding request
*/
template (value) ResponsePrimitive m_responsePrimitive(in template (value) ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (omit) PrimitiveContent p_content := omit) := {
template (value) ResponsePrimitive m_responsePrimitive(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (omit) PrimitiveContent p_content := omit) := {
responseStatusCode := p_statusCode,
requestIdentifier := p_requestId,
primitiveContent := p_content,
......@@ -3416,11 +3415,11 @@ module OneM2M_Templates {
* @param p_statusCode Status code
* @param p_requestId Request ID of the corresponding request
*/
template (value) ResponsePrimitive m_responsePrimitive_content(in template (value) ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := {
template (value) ResponsePrimitive m_responsePrimitive_content(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := {
primitiveContent := p_content
}
template ResponsePrimitive mw_responsePrimitive(in template ResponseStatusCode p_statusCode, in template PrimitiveContent p_content := *) := {
template ResponsePrimitive mw_responsePrimitive(in template (present) ResponseStatusCode p_statusCode, in template PrimitiveContent p_content := *) := {
responseStatusCode := p_statusCode,
requestIdentifier := ?,
primitiveContent := p_content,
......
......@@ -7,15 +7,14 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TestSystem.ttcn $
* $Id: OneM2M_TestSystem.ttcn 306 2017-06-20 16:19:04Z reinaortega $
* $Id: OneM2M_TestSystem.ttcn 340 2017-08-07 12:08:41Z reinaortega $
* @desc Test System module for oneM2M
*
*/
module OneM2M_TestSystem {
import from OneM2M_Types all;
import from OneM2M_TypesAndValues all;
import from LibCommon_Time {modulepar all};
import from LibCommon_Time all;
import from OneM2M_Ports all;
import from OneM2M_Pixits all;
......
......@@ -7,14 +7,13 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TypesAndValues.ttcn $
* $Id: OneM2M_TypesAndValues.ttcn 335 2017-07-31 09:04:53Z reinaortega $
* $Id: OneM2M_TypesAndValues.ttcn 340 2017-08-07 12:08:41Z reinaortega $
* @desc Module containing types and values for oneM2M
*
*/
module OneM2M_TypesAndValues {
import from XSD all;
import from OneM2M_Types all;
/* Constants */
const XSD.String c_defaultResourceName := "MyResource";
......
......@@ -7,7 +7,7 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
* $Id: OneM2M_Testcases.ttcn 339 2017-08-04 09:24:02Z reinaortega $
* $Id: OneM2M_Testcases.ttcn 340 2017-08-07 12:08:41Z reinaortega $
* @desc Module containing test cases for oneM2M
*
*/
......@@ -22,7 +22,6 @@ module OneM2M_Testcases {
import from OneM2M_Pixits all;
import from OneM2M_Pics all;
import from OneM2M_Functions all;
import from LibCommon_Time all;
import from XSD all;
......@@ -799,7 +798,6 @@ module OneM2M_Testcases {
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_cseBaseIndex := -1;
var integer v_resourceIndex := -1;
var ResourceType v_resourceType := int2;
// Test component configuration
......@@ -936,7 +934,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_REG_CRE_005() runs on CseTester system CseSystem {
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_cseBaseIndex := -1;
var ResourceType v_resourceType := int2;
......@@ -983,7 +980,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_REG_CRE_008() runs on CseTester system CseSystem {
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_cseBaseIndex := -1;
var ResourceType v_resourceType := int2;
......@@ -1034,7 +1030,6 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var integer v_cseBaseIndex := -1;
var ResourceType v_resourceType := int2;
var PrimitiveContent v_primitiveContentRetrieveResource;
// Test component configuration
f_cf02Up();
......@@ -1085,7 +1080,6 @@ module OneM2M_Testcases {
var MsgIn v_response;
var ResponsePrimitive v_request;
var integer v_cseBaseIndex := -1;
var ResourceType v_resourceType := int2;
// Test component configuration
f_cf02Up();
......@@ -1541,7 +1535,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var template PrimitiveContent v_contentResponse;
......@@ -1612,7 +1605,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var template PrimitiveContent v_contentResponse;
......@@ -1815,11 +1807,11 @@ module OneM2M_Testcases {
var ResponsePrimitive v_responsePrimitive;
var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
v_createRequest.primitiveContent.group_.resourceName := omit;
v_createRequest.primitiveContent.container.resourceName := omit;
v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createAeAux(omit,omit),v_notifyHandler);//Container
if(getverdict == pass){
if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
}
}
......@@ -1832,11 +1824,11 @@ module OneM2M_Testcases {
var ResponsePrimitive v_responsePrimitive;
var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
v_createRequest.primitiveContent.container.resourceName := omit;
v_responsePrimitive := f_CSE_DMR_CRE_001(int3, v_createRequest, m_createContainerBase, v_notifyHandler);//Container
if(getverdict == pass){
if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
if(not ispresent(v_responsePrimitive.primitiveContent.container.resourceName)){
setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
}
}
......@@ -1849,11 +1841,11 @@ module OneM2M_Testcases {
var ResponsePrimitive v_responsePrimitive;
var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
v_createRequest.primitiveContent.group_.resourceName := omit;
v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, -, v_notifyHandler);//Group
if(getverdict == pass){
if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
}
}
......@@ -1866,11 +1858,11 @@ module OneM2M_Testcases {
var ResponsePrimitive v_responsePrimitive;
var CseTester v_notifyHandler := CseTester.create("NotifyHandler") alive;
v_createRequest.primitiveContent.accessControlPolicy.resourceName := omit;
v_createRequest.primitiveContent.group_.resourceName := omit;
v_responsePrimitive := f_CSE_DMR_CRE_001(int9, v_createRequest, m_createAeAux(omit,omit), v_notifyHandler);//Group
if(getverdict == pass){
if(not ispresent(v_responsePrimitive.primitiveContent.accessControlPolicy.resourceName)){
if(not ispresent(v_responsePrimitive.primitiveContent.group_.resourceName)){
setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
}
}
......@@ -2207,7 +2199,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer i;
var integer v_parentIndex := -1;
var integer v_resourceIndex := -1;
var integer v_ae2Index := -1;
......@@ -3040,7 +3031,6 @@ module OneM2M_Testcases {
// Local variables
var template RequestPrimitive v_createRequest := m_createContainerBase;
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex := -1;
......@@ -3188,7 +3178,6 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var boolean v_resourceCreated := false;
// Test control
......@@ -4015,7 +4004,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_ACP() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createAcpBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.accessControlPolicy.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4025,7 +4013,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_CNT() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createContainerBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.container.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4035,7 +4022,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_CIN() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.contentInstance.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4045,7 +4031,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_GRP() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createGroupBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.group_.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4055,7 +4040,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_LCP() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.locationPolicy.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4065,7 +4049,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_MGO() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.mgmtResource.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4075,7 +4058,6 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_NOD() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createNodeBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.node.announceTo := {f_getAnnouncementTargetPoA()};
......@@ -4085,14 +4067,13 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_CRE_016_SCH() runs on CseTester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createScheduleBase;
var ResponsePrimitive v_responsePrimitive;
v_createRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};
f_CSE_DMR_CRE_016(int18, v_createRequest, mw_createScheduleAnncBase);//Schedule
}
function f_CSE_DMR_CRE_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester {
function f_CSE_DMR_CRE_016(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on CseTester {
// Local variables
var MsgIn v_response;
......@@ -4318,7 +4299,7 @@ module OneM2M_Testcases {
}
}
function f_CSE_DMR_CRE_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{
function f_CSE_DMR_CRE_017(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template (present) RequestPrimitive p_requestAnnc) runs on CseTester return RequestPrimitive{
// Local variables
var MsgIn v_anncRequest;
......@@ -4615,7 +4596,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_parentIndex := -1;
......@@ -4692,7 +4672,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var XSD.ID v_resourceId := "nonExistingId";
......@@ -4798,8 +4777,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var XSD.ID v_acpId;
var integer v_aeIndex := -1;
var integer v_acpAuxIndex := -1;
var integer v_resourceIndex := -1;
......@@ -4930,7 +4907,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
......@@ -5058,7 +5034,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -5191,7 +5166,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -5295,7 +5269,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -5394,7 +5367,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -5454,10 +5426,8 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DMR_RET_009() runs on CseTester system CseSystem {
// Local variables
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_resourceIndex := -1;
// Test control
......@@ -5511,7 +5481,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DMR_RET_010() runs on CseTester system CseSystem {
// Local variables
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex1 := -1;
......@@ -5581,10 +5550,8 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DMR_RET_011() runs on CseTester system CseSystem {
// Local variables
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_resourceIndex := -1;
// Test control
......@@ -5638,7 +5605,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DMR_RET_012() runs on CseTester system CseSystem {
// Local variables
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex1 := -1;
......@@ -5781,7 +5747,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -5894,8 +5859,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var XSD.ID v_acpId;
var integer v_aeIndex := -1;
var integer v_acpAuxIndex := -1;
var integer v_resourceIndex := -1;
......@@ -6036,7 +5999,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var XSD.String v_attribute := "#pi";//Attribute parentId to be retrieved
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
......@@ -6180,7 +6142,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -6395,7 +6356,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -6510,7 +6470,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -6621,7 +6580,6 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var CseTester v_notifyHandler;
......@@ -8416,8 +8374,7 @@ module OneM2M_Testcases {
testcase TC_CSE_DMR_UPD_004_SCH_SE_AT_LBL() runs on CseTester system CseSystem {
// Local variables
var Labels v_labels_1 := {"VALUE_1"};
var Labels v_labels_2 := {"To be deleted"};
var Labels v_labels_1 := {"To be deleted"};
var AttributeAux_list v_nullFields;
var template RequestPrimitive v_createRequest := m_createScheduleBase;
var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
......@@ -8427,7 +8384,7 @@ module OneM2M_Testcases {
v_createRequest.primitiveContent.schedule.scheduleElement := {{"0,0,0 1 2,1,1,*"}};//Attribute 1
v_updateRequest.primitiveContent.schedule.scheduleElement := {{"1,1,1 1 2,1,1,*"}}; //Attribute 1
v_updateRequest.primitiveContent.schedule.announceTo := {f_getAnnouncementTargetPoA()};//Attribute 2
v_updateRequest.primitiveContent.schedule.labels := v_labels_2;//Attribute 3
v_updateRequest.primitiveContent.schedule.labels := v_labels_1;//Attribute 3
v_nullFields := {{"labels", omit}};
......@@ -8473,7 +8430,6 @@ module OneM2M_Testcases {
// Local variables
var Labels v_labels_1 := {"VALUE_1"};
var Labels v_labels_2 := {"To be deleted"};
var AcpType v_acp := {"ACP_ID"};
var AttributeAux_list v_nullFields;
var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
......@@ -8644,7 +8600,7 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.container_update_invalid.expirationCounter := v_expirationCounter;
f_CSE_DMR_UPD_005(int3, m_createContainerBase, v_updateRequest);//Container
f_CSE_DMR_UPD_005(int3, v_updateRequest);//Container
}
testcase TC_CSE_DMR_UPD_005_GRP_EXC() runs on CseTester system CseSystem {
......@@ -8656,7 +8612,7 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.group_update_invalid.expirationCounter := v_expirationCounter;
f_CSE_DMR_UPD_005(int9, m_createGroupBase, v_updateRequest);//Group
f_CSE_DMR_UPD_005(int9, v_updateRequest);//Group
}
testcase TC_CSE_DMR_UPD_005_ACP_EXC() runs on CseTester system CseSystem {
......@@ -8668,7 +8624,7 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.aCP_update_invalid.expirationCounter := v_expirationCounter;
f_CSE_DMR_UPD_005(int1, m_createAcpBase, v_updateRequest);//AccessControlPolicy
f_CSE_DMR_UPD_005(int1, v_updateRequest);//AccessControlPolicy
}
testcase TC_CSE_DMR_UPD_005_SCH_EXCLBL() runs on CseTester system CseSystem {
......@@ -8680,7 +8636,7 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.schedule_update_invalid.expirationCounter := v_expirationCounter;
f_CSE_DMR_UPD_005(int18, m_createScheduleBase, v_updateRequest);//Schedule
f_CSE_DMR_UPD_005(int18, v_updateRequest);//Schedule
}
testcase TC_CSE_DMR_UPD_005_PCH_EXC() runs on CseTester system CseSystem {
......@@ -8692,7 +8648,7 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.pollingChannel_update_invalid.expirationCounter := v_expirationCounter;
f_CSE_DMR_UPD_005(int15, m_createPollingChannelBase, v_updateRequest);//PollingChannel
f_CSE_DMR_UPD_005(int15, v_updateRequest);//PollingChannel
}
testcase TC_CSE_DMR_UPD_005_SUB_LBLMNI() runs on CseTester system CseSystem {
......@@ -8704,10 +8660,10 @@ module OneM2M_Testcases {
v_updateRequest.primitiveContent.subscription_update_invalid.maxNrOfInstances := v_maxNrOfInstances;
f_CSE_DMR_UPD_005(int23, m_createSubscriptionBase, v_updateRequest);//Subscription
f_CSE_DMR_UPD_005(int23, v_updateRequest);//Subscription
}
function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
function f_CSE_DMR_UPD_005(ResourceType p_resourceType, template RequestPrimitive p_updateRequestPrimitive) runs on CseTester {
// Local variables
var MsgIn v_response;
......@@ -12106,7 +12062,7 @@ module OneM2M_Testcases {
if(p_resourceType == int1) {
p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2};
} else {
f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2};
v_updateRequest := valueof(m_updateAcpPrivileges(v_setOfArcs, -));
v_updateRequest := f_getUpdateRequestPrimitive(int1, vc_acpAuxIndex, v_updateRequest);
......@@ -12175,7 +12131,6 @@ module OneM2M_Testcases {
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var charstring c_falseAdressResource := "NoExistingResource";
// Test control
......@@ -12266,7 +12221,6 @@ module OneM2M_Testcases {
function f_CSE_DMR_DEL_004(ResourceType p_resourceType, template RequestPrimitive p_createRequestPrimitive, ResourceType p_childResourceType, template RequestPrimitive p_createRequestPrimitiveChildResource) runs on CseTester {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var integer v_childResourceIndex := -1;
......@@ -12422,8 +12376,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DMR_DEL_006() runs on CseTester system CseSystem {
// Local variables
var MsgIn v_response;
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex := -1;
......@@ -12570,7 +12522,6 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex := -1;
const ResourceType c_containerResourceType := int4;
......@@ -12679,11 +12630,11 @@ module OneM2M_Testcases {
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & "has already been deleted");
setverdict(fail, __SCOPE__ & ": Resource type" & int2str(enum2int(c_containerResourceType)) & " has already been deleted");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as" & int2str(enum2int(c_containerResourceType)) & " has been deleted");
setverdict(pass, __SCOPE__ & ": Error while retrieving resource attributes as " & int2str(enum2int(c_containerResourceType)) & " has been deleted");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer while retrieving resource attributes");
......@@ -12711,7 +12662,6 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_contentInstanceIndex := -1;
const ResourceType c_containerResourceType := int4;
......@@ -12827,7 +12777,7 @@ module OneM2M_Testcases {
var integer v_aeAuxIndex := -1;
var LocationSource v_locationSource := int1;//Network-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_request;
......@@ -12892,7 +12842,7 @@ module OneM2M_Testcases {
var integer v_aeIndex := -1;
var integer v_acpAuxIndex := -1;
var LocationSource v_locationSource := int1;//Network-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_request;
......@@ -12961,7 +12911,7 @@ module OneM2M_Testcases {
var integer v_aeIndex := -1;
var LocationSource v_locationSource := int1;//Netwok-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_request;
......@@ -13023,7 +12973,7 @@ module OneM2M_Testcases {
var integer v_aeAuxIndex := -1;
var integer v_locPolicyResourceIndex := -1;
var LocationSource v_locationSource := int1;//Netwok-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Duration locationUpdatePeriod_invalid := c_invalid_location_update_period;
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
......@@ -13086,7 +13036,7 @@ module OneM2M_Testcases {
var integer v_aeAuxIndex := -1;
var integer v_locPolicyResourceIndex := -1;
var integer v_locContainerResourceIndex := -1;
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_loc_request_preamble;
......@@ -13150,7 +13100,7 @@ module OneM2M_Testcases {
//TO create a <locationPolicy> resource with locationSource set to Device-based
var integer v_aeAuxIndex := -1;
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var RequestPrimitive v_request;
var MsgIn v_response;
var LocationSource v_locationSource := int2;//Device-based
......@@ -13282,7 +13232,7 @@ module OneM2M_Testcases {
var integer v_locContainerResourceIndex := -1;
var integer v_subscriptionResourceIndex := -1;
var LocationSource v_locationSource := int1;//Netwok-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_locpolicy_request_preamble;
......@@ -13346,7 +13296,7 @@ module OneM2M_Testcases {
var integer v_locContainerResourceIndex := -1;
var integer v_subscriptionResourceIndex := -1;
var LocationSource v_locationSource := int2;//Device-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var RequestPrimitive v_locpolicy_request_preamble;
var RequestPrimitive v_container_request_preamble;
var RequestPrimitive v_subscription_request_preamble;
......@@ -13485,7 +13435,7 @@ module OneM2M_Testcases {
var integer v_locPolicyResourceIndex := -1;
var integer v_locContainerResourceIndex := -1;
var LocationSource v_locationSource := int1;//Netwok-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
var RequestPrimitive v_locpolicy_request_preamble;
......@@ -13546,7 +13496,7 @@ module OneM2M_Testcases {
var RequestPrimitive v_locpolicy_request_preamble;
var MsgIn v_response;
var LocationSource v_locationSource := int1;//Netwok-based
var XSD.Duration locationUpdatePeriod := PX_LOCATION_UPDATE_PERIOD;
var ListOfDuration locationUpdatePeriod := {PX_LOCATION_UPDATE_PERIOD};
var XSD.Token locationTargetID := PX_LOCATION_TARGET_ID;
var XSD.AnyURI locationServerAddress := PX_LOCATION_SERVER_ADDRESS;
......@@ -13619,8 +13569,6 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var ListOfURIs v_memberIDs;
var template RequestPrimitive v_createRequest;
var ResponsePrimitive v_responsePrimitive;
var boolean v_resourceCreated := false;
// Test control
......@@ -14116,7 +14064,6 @@ module OneM2M_Testcases {
var integer v_groupIndex := -1;
var ListOfURIs v_memberIDs;
var integer i;
var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1"));
// Test control
......@@ -14876,7 +14823,6 @@ module OneM2M_Testcases {
var PrimitiveContent v_primitiveContentRetrievedResource;
var template RequestPrimitive v_updateRequest := m_updateGroupBase;
var template RequestPrimitive v_createMember;
// Test control
......@@ -15033,6 +14979,7 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var integer v_aeIndex := -1;
var integer v_groupIndex := -1;
var integer v_contentInstanceIndex := -1;
var template RequestPrimitive v_createRequest := m_createGroupBase;
var template RequestPrimitive v_updateRequest := m_updateGroupBase;
......@@ -15060,7 +15007,7 @@ module OneM2M_Testcases {
// TODO: -> do the resources actually need to be created?
// TODO: choose the right template for member resource
v_createMember := m_createContentInstance(f_getResourceAddress(v_aeIndex), c_primitiveContent & "_1");
f_cse_createResource(c_ResourceType1, v_createMember, v_aeIndex);
v_contentInstanceIndex := f_cse_createResource(c_ResourceType1, v_createMember, v_aeIndex);
// TODO: create resource of type <group> at c_memberResourceAddress2 on remoteCSE
// TODO: set onlineStatus to false on remoteCSE
......@@ -15146,6 +15093,7 @@ module OneM2M_Testcases {
var integer v_aeIndex := -1;
var integer v_remoteCSEIndex := -1;
var integer v_groupIndex := -1;
var integer v_contentInstanceIndex := -1;
var template RequestPrimitive v_createRequest := m_createGroupBase;
var template RequestPrimitive v_updateRequest := m_updateGroupBase;
......@@ -15175,7 +15123,7 @@ module OneM2M_Testcases {
// TODO: -> do the resources actually need to be created?
// TODO: choose the right template for member resource
v_createMember := m_createContentInstance(f_getResourceAddress(v_aeIndex), c_primitiveContent & "_1");
f_cse_createResource(c_ResourceType1, v_createMember, v_aeIndex);
v_contentInstanceIndex := f_cse_createResource(c_ResourceType1, v_createMember, v_aeIndex);
// TODO: create resource of type <group> at c_memberResourceAddress2 on remoteCSE
// TODO: set onlineStatus to false on remoteCSE
......@@ -15623,7 +15571,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_DIS_001() runs on CseTester system CseSystem {
// Local variables
var MsgIn v_response;
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var RequestPrimitive v_request;
......@@ -15855,7 +15802,6 @@ module OneM2M_Testcases {
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var RequestPrimitive v_request;
const ResourceType c_containerResourceType := int3;
var XSD.ID v_resourceId := "nonexisting";
// Test control
......@@ -15912,8 +15858,6 @@ module OneM2M_Testcases {
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var RequestPrimitive v_request;
var CseTester v_notifyHandler;
var integer v_ae2Index := -1;
var integer v_childResourceIndex := -1;
const ResourceType c_containerResourceType := int3;
......@@ -16232,7 +16176,6 @@ module OneM2M_Testcases {
*/
testcase TC_CSE_SUB_CRE_004() runs on CseTester system CseSystem {
//Local variables
var MsgIn v_response;
var template RequestPrimitive v_request := m_createSubscriptionBase;
var integer v_aeIndex := -1;
var CseTester v_notifyHandler;
......@@ -16478,7 +16421,6 @@ module OneM2M_Testcases {
testcase TC_CSE_SUB_NTF_003() runs on CseTester system CseSystem {
// Local variables
const integer numberOfAggregatedNotification := 3;
var MsgIn v_response;
var Labels v_labels_1:= {"VALUE_1"};
var Labels v_labels_2:= {"VALUE_2"};
var integer v_aeIndex := -1;
......@@ -17006,7 +16948,6 @@ module OneM2M_Testcases {
testcase TC_CSE_SUB_UPD_007() runs on CseTester system CseSystem {
// Local variables
const integer numberOfAggregatedNotification := 3;
var MsgIn v_response;
var Labels v_labels_1:= {"VALUE_1"};
var Labels v_labels_2:= {"VALUE_2"};
var Labels v_labels_3:= {"VALUE_3"};
......@@ -17073,7 +17014,6 @@ module OneM2M_Testcases {
testcase TC_CSE_SUB_UPD_008() runs on CseTester system CseSystem {
// Local variables
const integer numberOfAggregatedNotification := 3;
var MsgIn v_response;
var Labels v_labels_1:= {"VALUE_1"};
var Labels v_labels_2:= {"VALUE_2"};
var Labels v_labels_3:= {"VALUE_3"};
......@@ -18260,7 +18200,6 @@ module OneM2M_Testcases {
var MsgIn v_response;
var integer v_aeIndex := -1;
var integer v_containerIndex := -1;
var integer v_resourceIndex := -1;
var integer v_acpIndex := -1;
var RequestPrimitive v_request;
var RequestPrimitive v_createRequest := valueof(m_createAcpBase);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment