clang porting

This commit is contained in:
Matej Sekoranja
2014-08-13 09:36:37 +02:00
parent da0f65c2d3
commit 57e33c8f7d
14 changed files with 242 additions and 174 deletions
+92 -92
View File
@@ -29,7 +29,7 @@ void testCreateRequest() {
if(debug) { cout << "request " << request <<endl;}
PVStructurePtr pvRequest = createRequest->createRequest(request);
if(debug) { cout<< createRequest->getMessage() << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest->getStructure()->getNumberFields()==0);
testPass("request %s",request.c_str());
@@ -37,11 +37,11 @@ void testCreateRequest() {
request = "record[a=b,x=y]field(a) putField(a),getField(a)";
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
if(debug) { cout << "request " << request <<endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
if(debug) { cout << *pvRequest << endl;}
PVStringPtr pvString = pvRequest->getSubField<PVString>("record._options.a");
string sval = pvString->get();
@@ -49,18 +49,18 @@ void testCreateRequest() {
pvString = pvRequest->getSubField<PVString>("record._options.x");
sval = pvString->get();
testOk(sval.compare("y")==0,"record.x = y");
testOk1(pvRequest->getSubField("field.a")!=NULL);
testOk1(pvRequest->getSubField("putField.a")!=NULL);
testOk1(pvRequest->getSubField("getField.a")!=NULL);
testOk1(pvRequest->getSubField("field.a").get()!=0);
testOk1(pvRequest->getSubField("putField.a").get()!=0);
testOk1(pvRequest->getSubField("getField.a").get()!=0);
testPass("request %s",request.c_str());
request = "field(a.b[x=y])";
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
if(debug) { cout << "request " << request <<endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
if(debug) { cout << *pvRequest << endl;}
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
sval = pvString->get();
@@ -70,35 +70,35 @@ void testCreateRequest() {
request = "field(a.b{c.d})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << "request " << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
if(debug) { cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "field(a.b[x=y]{c.d})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << "request " << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
sval = pvString->get();
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
if(debug) { cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "field(a.b[x=y]{c.d[x=y]})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << "request " << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
sval = pvString->get();
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
@@ -111,10 +111,10 @@ void testCreateRequest() {
request = "record[a=b,c=d] field(a.a[a=b]{a.a[a=b]},b.a[a=b]{a,b})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << "request " << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("field.a.a._options.a");
sval = pvString->get();
testOk(sval.compare("b")==0,"field.a.a._options.a = b");
@@ -124,8 +124,8 @@ void testCreateRequest() {
pvString = pvRequest->getSubField<PVString>("field.b.a._options.a");
sval = pvString->get();
testOk(sval.compare("b")==0,"field.b.a._options.a = b");
testOk1(pvRequest->getSubField("field.b.a.a")!=NULL);
testOk1(pvRequest->getSubField("field.b.a.b")!=NULL);
testOk1(pvRequest->getSubField("field.b.a.a").get()!=0);
testOk1(pvRequest->getSubField("field.b.a.b").get()!=0);
if(debug) { cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
@@ -133,73 +133,73 @@ void testCreateRequest() {
request = "alarm,timeStamp,power.value";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << endl << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
if(debug) { cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "record[process=true]field(alarm,timeStamp,power.value)";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << endl << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("record.process");
sval = pvString->get();
testOk(sval.compare("true")==0,"record.process = true");
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "record[process=true]field(alarm,timeStamp[algorithm=onChange,causeMonitor=false],power{value,alarm})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("record.process");
sval = pvString->get();
testOk(sval.compare("true")==0,"record.process = true");
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.algorithm");
sval = pvString->get();
testOk(sval.compare("onChange")==0,"field.timeStamp._options.algorithm = onChange");
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.causeMonitor");
sval = pvString->get();
testOk(sval.compare("false")==0,"field.timeStamp._options.causeMonitor = false");
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
testOk1(pvRequest->getSubField("field.power.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
testOk1(pvRequest->getSubField("field.power.alarm").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "record[int=2,float=3.14159]field(alarm,timeStamp[shareData=true],power.value)";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=0);
pvString = pvRequest->getSubField<PVString>("record.int");
sval = pvString->get();
testOk(sval.compare("2")==0,"record.int = 2");
pvString = pvRequest->getSubField<PVString>("record.float");
sval = pvString->get();
testOk(sval.compare("3.14159")==0,"record.float = 3.14159");
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.shareData");
sval = pvString->get();
testOk(sval.compare("true")==0,"field.timeStamp._options.shareData = true");
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
@@ -209,19 +209,19 @@ void testCreateRequest() {
+ "current{value,alarm},voltage{value,alarm})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("putField.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("getField.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.power.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.current.value")!=NULL);
testOk1(pvRequest->getSubField("getField.current.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.alarm")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("putField.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("getField.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.current.value").get()!=0);
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
@@ -231,18 +231,18 @@ void testCreateRequest() {
+ "})";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.current.value")!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.power.value")!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.current.value")!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.power.value")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("field.supply.0.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("field.supply.0.current.value").get()!=0);
testOk1(pvRequest->getSubField("field.supply.0.power.value").get()!=0);
testOk1(pvRequest->getSubField("field.supply.1.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("field.supply.1.current.value").get()!=0);
testOk1(pvRequest->getSubField("field.supply.1.power.value").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
@@ -255,43 +255,43 @@ void testCreateRequest() {
+ ")";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
if(pvRequest==NULL) {
if(!pvRequest) {
cout << "reason " << createRequest->getMessage() << endl;
}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("putField.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("getField.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.power.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.current.value")!=NULL);
testOk1(pvRequest->getSubField("getField.current.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.power.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.current.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.current.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.voltage.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.power.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.power.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.current.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.current.alarm")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.voltage.value")!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.voltage.alarm")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("putField.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("getField.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.current.value").get()!=0);
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.power.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.current.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.current.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps0.voltage.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.timeStamp").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.power.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.power.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.current.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.current.alarm").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.voltage.value").get()!=0);
testOk1(pvRequest->getSubField("getField.ps1.voltage.alarm").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
request = "a{b{c{d}}}";
pvRequest = createRequest->createRequest(request);
if(debug) { cout << string("request") <<endl << request <<endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
testOk1(pvRequest.get()!=0);
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
if(debug) {cout << *pvRequest << endl;}
testPass("request %s",request.c_str());
@@ -305,7 +305,7 @@ void testCreateRequest() {
if(debug) { cout << endl << "Error Expected for next call!!" << endl;}
if(debug) { cout << string("request") <<endl << request <<endl;}
pvRequest = createRequest->createRequest(request);
assert(pvRequest.get()==NULL);
assert(!pvRequest);
if(debug) {cout << "reason " << createRequest->getMessage() << endl;}
testPass("request %s",request.c_str());
@@ -313,7 +313,7 @@ void testCreateRequest() {
if(debug) { cout << string("request") <<endl << request <<endl;}
if(debug) { cout << endl << "Error Expected for next call!!" << endl;}
pvRequest = createRequest->createRequest(request);
assert(pvRequest.get()==NULL);
assert(!pvRequest);
if(debug) { cout << "reason " << createRequest->getMessage() << endl;}
testPass("request %s",request.c_str());
}
+1 -1
View File
@@ -60,7 +60,7 @@ void test_structure()
StructureConstPtr s2 = fb->add("s", s)->
addArray("sArray", s)->
createStructure();
testOk1(s2 != 0);
testOk1(s2.get()!=0);
testOk1(Structure::DEFAULT_ID == s2->getID());
testOk1(2 == s2->getFields().size());
+18 -18
View File
@@ -197,45 +197,45 @@ static void testPVScalarWithProperties(
}
PVLongPtr seconds = pvStructure->getLongField(
string("timeStamp.secondsPastEpoch"));
testOk1(seconds!=0);
testOk1(seconds.get()!=0);
seconds->put(123456789);
PVIntPtr nano = pvStructure->getIntField(string("timeStamp.nanoSeconds"));
testOk1(nano!=0);
testOk1(nano.get()!=0);
nano->put(1000000);
PVIntPtr severity = pvStructure->getIntField(string("alarm.severity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(2);
PVStringPtr message = pvStructure->getStringField(string("alarm.message"));
testOk1(message!=0);
testOk1(message.get()!=0);
message->put(string("messageForAlarm"));
if(hasDisplayControl) {
PVStringPtr desc = pvStructure->getStringField(
string("display.description"));
testOk1(desc!=0);
testOk1(desc.get()!=0);
desc->put(string("this is a description"));
PVStringPtr format = pvStructure->getStringField(
string("display.format"));
testOk1(format!=0);
testOk1(format.get()!=0);
format->put(string("f10.2"));
PVStringPtr units = pvStructure->getStringField(
string("display.units"));
testOk1(units!=0);
testOk1(units.get()!=0);
units->put(string("SomeUnits"));
PVDoublePtr limit = pvStructure->getDoubleField(
string("display.limitLow"));
testOk1(limit!=0);
testOk1(limit.get()!=0);
limit->put(0.0);
limit = pvStructure->getDoubleField(
string("display.limitHigh"));
testOk1(limit!=0);
testOk1(limit.get()!=0);
limit->put(10.0);
limit = pvStructure->getDoubleField(
string("control.limitLow"));
testOk1(limit!=0);
testOk1(limit.get()!=0);
limit->put(1.0);
limit = pvStructure->getDoubleField(
string("control.limitHigh"));
testOk1(limit!=0);
testOk1(limit.get()!=0);
limit->put(9.0);
}
if(hasValueAlarm) {
@@ -255,15 +255,15 @@ static void testPVScalarWithProperties(
convert->fromDouble(pvtemp,9.0);
severity = pvStructure->getIntField(
string("valueAlarm.lowAlarmSeverity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(2);
severity = pvStructure->getIntField(
string("valueAlarm.highAlarmSeverity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(2);
PVBooleanPtr active = pvStructure->getBooleanField(
string("valueAlarm.active"));
testOk1(active!=0);
testOk1(active.get()!=0);
active->put(true);
}
if(hasBooleanAlarm) {
@@ -273,15 +273,15 @@ static void testPVScalarWithProperties(
pvBoolean->put(true);
severity = pvStructure->getIntField(
string("valueAlarm.falseSeverity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(0);
severity = pvStructure->getIntField(
string("valueAlarm.trueSeverity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(2);
severity = pvStructure->getIntField(
string("valueAlarm.changeStateSeverity"));
testOk1(severity!=0);
testOk1(severity.get()!=0);
severity->put(1);
}
if(debug)
@@ -345,7 +345,7 @@ static void testScalarArrayCommon(string /*fieldName*/,ScalarType stype)
if(debug)
std::cout << *pvStructure << std::endl;
PVFieldPtr pvField = pvStructure->getSubField("alarm.status");
testOk1(pvField!=NULL);
testOk1(pvField.get()!=0);
}
static void testScalarArray()
+3 -3
View File
@@ -108,7 +108,7 @@ static void testBasic()
{
typename PVT::const_svector avoid;
arr1->PVScalarArray::getAs<typename PVT::value_type>(avoid);
arr1->PVScalarArray::template getAs<typename PVT::value_type>(avoid);
testOk1(avoid.data()==cdata.data());
testOk1(avoid.data()==arr1->view().data());
}
@@ -133,7 +133,7 @@ static void testBasic()
testOk1(cdata.size()==arr1->getLength());
PVIntArray::const_svector idata;
arr1->PVScalarArray::getAs<int32>(idata);
arr1->PVScalarArray::template getAs<int32>(idata);
testOk1(idata.at(1)==10);
@@ -143,7 +143,7 @@ static void testBasic()
idata = freeze(wdata);
arr1->PVScalarArray::putFrom<int32>(idata);
arr1->PVScalarArray::template putFrom<int32>(idata);
testOk1(castUnsafe<PVIntArray::value_type>(arr1->view()[1])==42);
}