add getStatus() method to EigerReceiverImplementation.

implement basic configuration cache for EigerReceiverImplementation
adapt eigerReceiverTest to do more checks and make output more readable
improve error tests in EigerReceiverImplementation::initialize()


git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@789 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
billich
2014-03-17 20:37:10 +00:00
parent 540c3b1971
commit 3ec2a602c2
3 changed files with 152 additions and 45 deletions

View File

@ -10,50 +10,86 @@
#include <string>
#include "eigerReceiver.h"
using namespace std;
int main(int argc, char *argv[]){
const char *name = "detectors_host_name";
const char *empty = "";
std::string prefix = "main: ";
std::cout <<prefix<< "start EigerReceiver tests\n";
cout <<prefix<< "start EigerReceiver tests" << endl;
EigerReceiver *receiver = EigerReceiver::create();
receiver->initialize(name);
int status = receiver->getStatus();
char *c0 = receiver->getDetectorHostname();
if (c0 == NULL) {
cout <<prefix<< "getDetectorHostname() returned NULL, as expected before initialization." << endl;
}
delete[] c0;
cout <<prefix<< "initialize 4 times - only the second should work" << endl;
receiver->initialize(empty);
status = receiver->getStatus();
receiver->initialize(name);
status = receiver->getStatus();
receiver->initialize(name);
status = receiver->getStatus();
receiver->initialize((char *)NULL);
cout << endl;
status = receiver->getStatus();
char *c6 = receiver->getDetectorHostname();
cout <<prefix<< "got detector hostname " << c6 << " after initialization;" <<endl<<endl;
delete[] c6;
cout <<prefix<< "try get*() methods before set*() - expect default values" <<endl;
char *c1 = receiver->getFileName();
std::cout <<prefix<< "got file name " << c1 << '\n';
cout <<prefix<< "got file name <" << c1 <<">." << endl;
delete[] c1;
char *c2 = receiver->getFilePath();
std::cout <<prefix<< "got path name " << c2 << '\n';
cout <<prefix<< "got path name <" << c2 <<">." << endl;
delete[]c2;
int range = receiver->getDynamicRange();
std::cout <<prefix<< "got dynamic range " << range << ".\n";
cout <<prefix<< "got dynamic range " << range << endl;
int tag = receiver->getScanTag();
std::cout <<prefix<< "got scan tag " << tag << ".\n";
cout <<prefix<< "got scan tag " << tag << endl;
cout << endl;
char *c3 = receiver->setFileName( "some_other_name");
std::cout <<prefix<< "got file name " << c3 << " after setting to <some_other_name>\n";
cout <<prefix<< "got file name <" << c3 << "> after setting to <some_other_name>" << endl << endl;
delete[] c3;
char *c4 = receiver->setFilePath( "some_other_path");
std::cout <<prefix<< "got file path " << c4 << " after setting to <some_other_path>\n";
cout <<prefix<< "got file path <" << c4 << "> after setting to <some_other_path>" << endl << endl;
delete[] c4;
range = receiver->setDynamicRange(8);
std::cout <<prefix<< "got dynamic range " << range << " after setting it to 8.\n";
cout <<prefix<< "got dynamic range " << range << " after setting it to 8." << endl << endl;
tag = receiver->setScanTag(99);
cout << "got scan tag " << tag << " after setting to 99." << endl << endl;
int n = receiver->setNumberOfFrames(11);
cout << "got number of frames " << n << " after setting to 11." << endl << endl;
int w = receiver->setEnableFileWrite(1);
cout << "got enable file write " << w << " after setting to 1." << endl << endl;
char *c5;
status = receiver->getStatus();
receiver->startReceiver(c5);
status = receiver->getStatus();
receiver->stopReceiver();
status = receiver->getStatus();
receiver->abort();
receiver->getEnableFileWrite();
char *c6 = receiver->getDetectorHostname();
delete[] c6;
status = receiver->getStatus();
}