diff options
Diffstat (limited to 'clientcomm/test')
| -rw-r--r-- | clientcomm/test/Makefile | 81 | ||||
| -rw-r--r-- | clientcomm/test/test_clientcomm.cc | 84 |
2 files changed, 165 insertions, 0 deletions
diff --git a/clientcomm/test/Makefile b/clientcomm/test/Makefile new file mode 100644 index 0000000..490ea9f --- /dev/null +++ b/clientcomm/test/Makefile @@ -0,0 +1,81 @@ +# -*-Makefile-*- +# +# This file is part of rasdaman community. +# +# Rasdaman community is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Rasdaman community is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +# +# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +# rasdaman GmbH. +# +# For more information please see <http://www.rasdaman.org> +# or contact Peter Baumann via <baumann@rasdaman.com>. # Top Level makefile. This points to the various modules that have to be build +# and/or deployed + +# +# MAKEFILE FOR: +# test programs of module clientcomm +# +# COMMENTS: +# +################################################################## +# +# This is just an example Makefile for a test program. +# The dependency of the test program on the lib of the +# corresponding module is in the Makefile of the module. +# + +######################### Definitions ############################ + +# standard include with general options +include $(RMANBASE)/Makefile.inc + +# all test programs +SRCCXX = test_clientcomm.cc +OBJS = ${SRCCXX:%.cc=%.o} +ALLTESTS = ${SRCCXX:%.cc=%} + +# use client specific flags +CXXFLAGS := $(CLIENTCXXFLAGS) +LDFLAGS := $(CLIENTLDFLAGS) + +# some additional flags for compiling and linking +CXXFLAGS += -I$(RMANBASE)/clientcomm +LDFLAGS += -I$(RMANBASE)/clientcomm + +# add communication flags +CXXFLAGS += $(COMMCXXFLAGS) +LDFLAGS += $(COMMLDFLAGS) + +# use template repository of module rasodmg +CXXFLAGS := -ptr$(RMANBASE)/rasodmg/ptrepository $(CXXFLAGS) +LDFLAGS := -ptr$(RMANBASE)/rasodmg/ptrepository $(LDFLAGS) + +########################### Targets ############################## + +# test target for clientcomm +.PHONY : clientcomm +clientcomm: test_module test_clientcomm + +.PHONY : test_module +test_module: + cd $(RMANBASE)/clientcomm; $(MAKE) + +test_clientcomm: test_clientcomm.o $(CLIENTCOMM) $(RASODMG) $(RASLIB) + $(CXX) $(LDFLAGS) -o $@ $^ -lm + +# general rules +include $(RMANBASE)/Makefile.rel + +# automatically created dependencies +include Makefile.dep diff --git a/clientcomm/test/test_clientcomm.cc b/clientcomm/test/test_clientcomm.cc new file mode 100644 index 0000000..d59047a --- /dev/null +++ b/clientcomm/test/test_clientcomm.cc @@ -0,0 +1,84 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +/ +/** + * SOURCE: test_clientcomm.cc + * + * MODULE: clientcomm + * + * PURPOSE: + * + * COMMENTS: + * None +*/ + +#ifdef EARLY_TEMPLATE +#define __EXECUTABLE__ +#ifdef __GNUG__ +#include "template_inst.hh" +#endif +#endif + +#include <iostream> + +#include "rasodmg/ref.hh" +#include "clientcomm/clientcomm.hh" + + +int main() +{ + try + { + ClientComm a( "sunwibas15" ); + + cout << "Opening db ..." << flush; + a.openDB( "RolandBase" ); + cout << "OK" << endl; + + cout << "Starting ta ..." << flush; + a.openTA(); + cout << "OK" << endl; + + cout << "Getting type structure RGBImage ..." << flush; + char* ts = a.getTypeStructure( "RGBImage", ClientComm::r_MDDType_Type ); + cout << "OK" << endl; + + cout << "Type Structure " << ts << endl; + + free( ts ); + + cout << "Comitting ta ..." << flush; + a.commitTA(); + cout << "OK" << endl; + + cout << "Closing db ..." << flush; + a.closeDB(); + cout << "OK" << endl; + } + catch ( ... ) + { + cout << "Exception occured: Server or connection problems." << endl; + return -1; + } + + return 0; +} |
