clang fixes

This commit is contained in:
Matej Sekoranja
2014-08-19 20:58:12 +02:00
parent 37f6dff065
commit 16fb3f0339
2 changed files with 102 additions and 96 deletions

View File

@@ -352,15 +352,21 @@ public:
if(chr==']') numBracket--;
}
if(numParan!=0) {
message = "mismatched () " + numParan;
std::ostringstream msg("mismatched () ");
msg << numParan;
message = msg.str();
return PVStructurePtr();
}
if(numBrace!=0) {
message = "mismatched {} " + numBrace;
std::ostringstream msg("mismatched {} ");
msg << numBrace;
message = msg.str();
return PVStructurePtr();
}
if(numBracket!=0) {
message = "mismatched [] " + numBracket;
std::ostringstream msg("mismatched [] ");
msg << numBracket;
message = msg.str();
return PVStructurePtr();
}
vector<Node> top;

View File

@@ -30,35 +30,35 @@ void testCreateRequest() {
string request = "";
if(debug) { cout << "request " << request <<endl;}
PVStructurePtr pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
testOk1(pvRequest->getStructure()->getNumberFields()==0);
testPass("request %s",request.c_str());
request = "record[a=b,x=y]field(a) putField(a),getField(a)";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("record._options.a");
sval = pvString->get();
testOk(sval.compare("b")==0,"record.a = b");
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()!=NULL);
testOk1(pvRequest->getSubField("putField.a").get()!=NULL);
testOk1(pvRequest->getSubField("getField.a").get()!=NULL);
testPass("request %s",request.c_str());
request = "field(a.b[x=y])";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
sval = pvString->get();
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
@@ -67,30 +67,30 @@ void testCreateRequest() {
request = "field(a.b{c.d})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
testOk1(pvRequest.get()!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=NULL);
testPass("request %s",request.c_str());
request = "field(a.b[x=y]{c.d})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
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()!=NULL);
testPass("request %s",request.c_str());
request = "field(a.b[x=y]{c.d[x=y]})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
sval = pvString->get();
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
@@ -102,9 +102,9 @@ void testCreateRequest() {
request = "record[a=b,c=d] field(a.a[a=b]{a.a[a=b]},b.a[a=b]{a,b})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("field.a.a._options.a");
sval = pvString->get();
testOk(sval.compare("b")==0,"field.a.a._options.a = b");
@@ -114,74 +114,74 @@ 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()!=NULL);
testOk1(pvRequest->getSubField("field.b.a.b").get()!=NULL);
testPass("request %s",request.c_str());
request = "alarm,timeStamp,power.value";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << 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()!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("field.power.value").get()!=NULL);
testPass("request %s",request.c_str());
request = "record[process=true]field(alarm,timeStamp,power.value)";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("record._options.process");
sval = pvString->get();
testOk(sval.compare("true")==0,"record._options.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()!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("field.power.value").get()!=NULL);
testPass("request %s",request.c_str());
request = "record[process=true]field(alarm,timeStamp[algorithm=onChange,causeMonitor=false],power{value,alarm})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("record._options.process");
sval = pvString->get();
testOk(sval.compare("true")==0,"record._options.process = true");
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=NULL);
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()!=NULL);
testOk1(pvRequest->getSubField("field.power.alarm").get()!=NULL);
testPass("request %s",request.c_str());
request = "record[int=2,float=3.14159]field(alarm,timeStamp[shareData=true],power.value)";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest.get()!=NULL);
pvString = pvRequest->getSubField<PVString>("record._options.int");
sval = pvString->get();
testOk(sval.compare("2")==0,"record._options.int = 2");
pvString = pvRequest->getSubField<PVString>("record._options.float");
sval = pvString->get();
testOk(sval.compare("3.14159")==0,"record._options.float = 3.14159");
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=NULL);
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()!=NULL);
testPass("request %s",request.c_str());
request = string("record[process=true,xxx=yyy]")
@@ -190,18 +190,18 @@ void testCreateRequest() {
+ "current{value,alarm},voltage{value,alarm})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << 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()!=NULL);
testOk1(pvRequest->getSubField("putField.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("getField.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=NULL);
testPass("request %s",request.c_str());
request = string("field(alarm,timeStamp,supply{")
@@ -210,17 +210,17 @@ void testCreateRequest() {
+ "})";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << 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()!=NULL);
testOk1(pvRequest->getSubField("field.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("field.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.0.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("field.supply.1.power.value").get()!=NULL);
testPass("request %s",request.c_str());
request = string("record[process=true,xxx=yyy]")
@@ -232,43 +232,43 @@ void testCreateRequest() {
+ ")";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << 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()!=NULL);
testOk1(pvRequest->getSubField("putField.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("getField.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.power.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.current.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps0.voltage.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.timeStamp").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.power.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.power.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.current.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.current.alarm").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.voltage.value").get()!=NULL);
testOk1(pvRequest->getSubField("getField.ps1.voltage.alarm").get()!=NULL);
testPass("request %s",request.c_str());
request = "a{b{c{d}}}";
if(debug) { cout << "request " << request <<endl;}
pvRequest = createRequest->createRequest(request);
if(pvRequest==NULL) { cout<< createRequest->getMessage() << endl;}
if(pvRequest.get()==NULL) { cout<< createRequest->getMessage() << endl;}
if(debug) { cout << *pvRequest << endl;}
testOk1(pvRequest!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
testOk1(pvRequest.get()!=NULL);
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=NULL);
testPass("request %s",request.c_str());
request = string("record[process=true,xxx=yyy]")
@@ -289,7 +289,7 @@ void testCreateRequest() {
if(debug) { cout << endl << "Error Expected for next call!!" << endl;}
pvRequest = createRequest->createRequest(request);
if(debug) {cout << "reason " << createRequest->getMessage() << endl;}
testOk1(pvRequest==NULL);
testOk1(pvRequest.get()==NULL);
testPass("request %s",request.c_str());
}