From cd55407949abee58e663cad28945ce48d0fb2a52 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Sun, 17 Jan 2010 09:02:57 +0000 Subject: Simplified Makefiles a bit. Added -R options to configure shared library runtime search path and not require LD_LIBRARY_PATH anymore. Refactored test shell scripts and added a store-cpp integration test. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@900073 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/modules/atom/Makefile.am | 2 +- sca-cpp/trunk/modules/http/Makefile.am | 2 +- sca-cpp/trunk/modules/java/Makefile.am | 21 ++++--- sca-cpp/trunk/modules/java/server-test | 42 ++++++++++++++ sca-cpp/trunk/modules/java/wiring-test | 79 ++++++++++++++++++++++++++ sca-cpp/trunk/modules/json/Makefile.am | 2 +- sca-cpp/trunk/modules/python/Makefile.am | 8 +-- sca-cpp/trunk/modules/python/htdocs/index.html | 21 ------- sca-cpp/trunk/modules/python/python-conf | 5 +- sca-cpp/trunk/modules/python/server-test | 2 +- sca-cpp/trunk/modules/python/wiring-test | 79 ++++++++++++++++++++++++++ sca-cpp/trunk/modules/scdl/Makefile.am | 2 +- sca-cpp/trunk/modules/server/Makefile.am | 6 +- sca-cpp/trunk/modules/server/cpp-conf | 26 +++++++++ sca-cpp/trunk/modules/server/scheme-conf | 2 +- 15 files changed, 254 insertions(+), 45 deletions(-) create mode 100755 sca-cpp/trunk/modules/java/server-test create mode 100755 sca-cpp/trunk/modules/java/wiring-test delete mode 100644 sca-cpp/trunk/modules/python/htdocs/index.html create mode 100755 sca-cpp/trunk/modules/python/wiring-test create mode 100755 sca-cpp/trunk/modules/server/cpp-conf (limited to 'sca-cpp/trunk/modules') diff --git a/sca-cpp/trunk/modules/atom/Makefile.am b/sca-cpp/trunk/modules/atom/Makefile.am index 6629897b0b..c39caa34c3 100644 --- a/sca-cpp/trunk/modules/atom/Makefile.am +++ b/sca-cpp/trunk/modules/atom/Makefile.am @@ -18,6 +18,6 @@ noinst_PROGRAMS = atom-test atom_test_SOURCES = atom-test.cpp -atom_test_LDADD = -lxml2 +atom_test_LDFLAGS = -lxml2 TESTS = atom-test diff --git a/sca-cpp/trunk/modules/http/Makefile.am b/sca-cpp/trunk/modules/http/Makefile.am index 31af14086c..0e1364747c 100644 --- a/sca-cpp/trunk/modules/http/Makefile.am +++ b/sca-cpp/trunk/modules/http/Makefile.am @@ -20,6 +20,6 @@ noinst_PROGRAMS = curl-test INCLUDES = -I${HTTPD_INCLUDE} curl_test_SOURCES = curl-test.cpp -curl_test_LDADD = -lxml2 -lcurl -lmozjs +curl_test_LDFLAGS = -lxml2 -lcurl -lmozjs TESTS = httpd-test http-test diff --git a/sca-cpp/trunk/modules/java/Makefile.am b/sca-cpp/trunk/modules/java/Makefile.am index 790277104b..f103a232fa 100644 --- a/sca-cpp/trunk/modules/java/Makefile.am +++ b/sca-cpp/trunk/modules/java/Makefile.am @@ -17,23 +17,30 @@ datadir=$(prefix)/modules/java JAVAROOT = $(top_builddir)/modules/java +libdir=$(prefix)/lib if WANT_JAVA -noinst_PROGRAMS = java-test java-shell +noinst_PROGRAMS = java-test java-shell client-test + +lib_LTLIBRARIES = libmod_tuscany_java.la INCLUDES = -I${JAVA_INCLUDE} +libmod_tuscany_java_la_SOURCES = mod-java.cpp +libmod_tuscany_java_la_LDFLAGS = -lxml2 -lcurl -lmozjs -L${JAVA_LIB} -R${JAVA_LIB} -R${JAVA_LIB}/server -ljava + java_test_SOURCES = java-test.cpp -java_test_LDADD = -L${JAVA_LIB} -ljava -java_test_LDFLAGS = -rpath ${JAVA_LIB} -rpath ${JAVA_LIB}/server +java_test_LDFLAGS = -L${JAVA_LIB} -R${JAVA_LIB} -R${JAVA_LIB}/server -ljava java_shell_SOURCES = java-shell.cpp -java_shell_LDADD = -L${JAVA_LIB} -ljava -java_shell_LDFLAGS = -rpath ${JAVA_LIB} -rpath ${JAVA_LIB}/server +java_shell_LDFLAGS = -L${JAVA_LIB} -R${JAVA_LIB} -R${JAVA_LIB}/server -ljava noinst_JAVA = org/apache/tuscany/*.java test/*.java -TESTS = java-test +client_test_SOURCES = client-test.cpp +client_test_LDFLAGS = -lxml2 -lcurl -lmozjs + +TESTS = java-test server-test -endif \ No newline at end of file +endif diff --git a/sca-cpp/trunk/modules/java/server-test b/sca-cpp/trunk/modules/java/server-test new file mode 100755 index 0000000000..08e381690d --- /dev/null +++ b/sca-cpp/trunk/modules/java/server-test @@ -0,0 +1,42 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Setup +../http/httpd-conf tmp 8090 ../server/htdocs +../server/server-conf tmp +./java-conf tmp +cat >>tmp/conf/httpd.conf < +SCAContribution `pwd`/ +SCAComposite domain-test.composite + +EOF + +apachectl -k start -d `pwd`/tmp +sleep 2 + +# Test +./client-test 2>/dev/null +rc=$? + +# Cleanup +apachectl -k stop -d `pwd`/tmp +sleep 2 +return $rc diff --git a/sca-cpp/trunk/modules/java/wiring-test b/sca-cpp/trunk/modules/java/wiring-test new file mode 100755 index 0000000000..b92f76c403 --- /dev/null +++ b/sca-cpp/trunk/modules/java/wiring-test @@ -0,0 +1,79 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +echo "Testing..." + +# Setup +../http/httpd-conf tmp 8090 ../server/htdocs +../server/server-conf tmp +./java-conf tmp +cat >>tmp/conf/httpd.conf < +SCAContribution `pwd`/ +SCAComposite domain-test.composite + +EOF + +apachectl -k start -d `pwd`/tmp +sleep 2 + +# Test HTTP GET +curl http://localhost:8090/index.html 2>/dev/null >tmp/index.html +diff tmp/index.html ../server/htdocs/index.html +rc=$? + +# Test ATOMPub +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ >tmp/feed.xml 2>/dev/null + diff tmp/feed.xml ../server/htdocs/feed.xml + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 >tmp/entry.xml 2>/dev/null + diff tmp/entry.xml ../server/htdocs/entry.xml + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ -X POST -H "Content-type: application/atom+xml" --data @../server/htdocs/entry.xml 2>/dev/null + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 -X PUT -H "Content-type: application/atom+xml" --data @../server/htdocs/entry.xml 2>/dev/null + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 -X DELETE 2>/dev/null + rc=$? +fi + +# Test JSON-RPC +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ -X POST -H "Content-type: application/json-rpc" --data @../server/htdocs/json-request.txt >tmp/json-result.txt 2>/dev/null + diff tmp/json-result.txt ../server/htdocs/json-result.txt + rc=$? +fi + +# Cleanup +apachectl -k stop -d `pwd`/tmp +sleep 2 +if [ "$rc" = "0" ]; then + echo "OK" +fi +return $rc diff --git a/sca-cpp/trunk/modules/json/Makefile.am b/sca-cpp/trunk/modules/json/Makefile.am index 3a3a477867..5bd435fe99 100644 --- a/sca-cpp/trunk/modules/json/Makefile.am +++ b/sca-cpp/trunk/modules/json/Makefile.am @@ -18,6 +18,6 @@ noinst_PROGRAMS = json-test json_test_SOURCES = json-test.cpp -json_test_LDADD = -lmozjs +json_test_LDFLAGS = -lmozjs TESTS = json-test diff --git a/sca-cpp/trunk/modules/python/Makefile.am b/sca-cpp/trunk/modules/python/Makefile.am index 20f1757411..5d634a446c 100644 --- a/sca-cpp/trunk/modules/python/Makefile.am +++ b/sca-cpp/trunk/modules/python/Makefile.am @@ -29,16 +29,16 @@ nobase_data_DATA = *.xsd INCLUDES = -I${PYTHON_INCLUDE} libmod_tuscany_python_la_SOURCES = mod-python.cpp -libmod_tuscany_python_la_LIBADD = -lxml2 -lcurl -lmozjs -L${PYTHON_LIB} -lpython2.6 +libmod_tuscany_python_la_LDFLAGS = -lxml2 -lcurl -lmozjs -L${PYTHON_LIB} -R${PYTHON_LIB} -lpython2.6 python_test_SOURCES = python-test.cpp -python_test_LDADD = -L${PYTHON_LIB} -lpython2.6 +python_test_LDFLAGS = -L${PYTHON_LIB} -R${PYTHON_LIB} -lpython2.6 python_shell_SOURCES = python-shell.cpp -python_shell_LDADD = -L${PYTHON_LIB} -lpython2.6 +python_shell_LDFLAGS = -L${PYTHON_LIB} -R${PYTHON_LIB} -lpython2.6 client_test_SOURCES = client-test.cpp -client_test_LDADD = -lxml2 -lcurl -lmozjs +client_test_LDFLAGS = -lxml2 -lcurl -lmozjs TESTS = python-test server-test diff --git a/sca-cpp/trunk/modules/python/htdocs/index.html b/sca-cpp/trunk/modules/python/htdocs/index.html deleted file mode 100644 index 1bfb3e30c2..0000000000 --- a/sca-cpp/trunk/modules/python/htdocs/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - -

It works!

- diff --git a/sca-cpp/trunk/modules/python/python-conf b/sca-cpp/trunk/modules/python/python-conf index 856237ed9d..9bc99e2bbe 100755 --- a/sca-cpp/trunk/modules/python/python-conf +++ b/sca-cpp/trunk/modules/python/python-conf @@ -17,13 +17,10 @@ # specific language governing permissions and limitations # under the License. -# Generate a server conf +# Generate a Python server conf here=`readlink -f $0`; here=`dirname $here` root=`readlink -f $1` -mkdir -p $root -mkdir -p $root/logs -mkdir -p $root/conf cat >>$root/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf < +SCAContribution `pwd`/ +SCAComposite domain-test.composite + +EOF + +apachectl -k start -d `pwd`/tmp +sleep 2 + +# Test HTTP GET +curl http://localhost:8090/index.html 2>/dev/null >tmp/index.html +diff tmp/index.html ../server/htdocs/index.html +rc=$? + +# Test ATOMPub +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ >tmp/feed.xml 2>/dev/null + diff tmp/feed.xml ../server/htdocs/feed.xml + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 >tmp/entry.xml 2>/dev/null + diff tmp/entry.xml ../server/htdocs/entry.xml + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ -X POST -H "Content-type: application/atom+xml" --data @../server/htdocs/entry.xml 2>/dev/null + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 -X PUT -H "Content-type: application/atom+xml" --data @../server/htdocs/entry.xml 2>/dev/null + rc=$? +fi +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/111 -X DELETE 2>/dev/null + rc=$? +fi + +# Test JSON-RPC +if [ "$rc" = "0" ]; then + curl http://localhost:8090/client/ -X POST -H "Content-type: application/json-rpc" --data @../server/htdocs/json-request.txt >tmp/json-result.txt 2>/dev/null + diff tmp/json-result.txt ../server/htdocs/json-result.txt + rc=$? +fi + +# Cleanup +apachectl -k stop -d `pwd`/tmp +sleep 2 +if [ "$rc" = "0" ]; then + echo "OK" +fi +return $rc diff --git a/sca-cpp/trunk/modules/scdl/Makefile.am b/sca-cpp/trunk/modules/scdl/Makefile.am index b8f81fdf0b..afbd35a8a7 100644 --- a/sca-cpp/trunk/modules/scdl/Makefile.am +++ b/sca-cpp/trunk/modules/scdl/Makefile.am @@ -18,6 +18,6 @@ noinst_PROGRAMS = scdl-test scdl_test_SOURCES = scdl-test.cpp -scdl_test_LDADD = -lxml2 +scdl_test_LDFLAGS = -lxml2 TESTS = scdl-test diff --git a/sca-cpp/trunk/modules/server/Makefile.am b/sca-cpp/trunk/modules/server/Makefile.am index f68fee9f4f..9c18b45dad 100644 --- a/sca-cpp/trunk/modules/server/Makefile.am +++ b/sca-cpp/trunk/modules/server/Makefile.am @@ -23,10 +23,10 @@ lib_LTLIBRARIES = libmod_tuscany_eval.la libmod_tuscany_wiring.la INCLUDES = -I${HTTPD_INCLUDE} libmod_tuscany_eval_la_SOURCES = mod-eval.cpp -libmod_tuscany_eval_la_LIBADD = -lxml2 -lcurl -lmozjs +libmod_tuscany_eval_la_LDFLAGS = -lxml2 -lcurl -lmozjs libmod_tuscany_wiring_la_SOURCES = mod-wiring.cpp -libmod_tuscany_wiring_la_LIBADD = -lxml2 -lcurl -lmozjs +libmod_tuscany_wiring_la_LDFLAGS = -lxml2 -lcurl -lmozjs testdir=$(prefix)/test test_LTLIBRARIES = libimpl-test.la @@ -34,6 +34,6 @@ test_LTLIBRARIES = libimpl-test.la libimpl_test_la_SOURCES = impl-test.cpp client_test_SOURCES = client-test.cpp -client_test_LDADD = -lxml2 -lcurl -lmozjs +client_test_LDFLAGS = -lxml2 -lcurl -lmozjs TESTS = httpd-test server-test wiring-test diff --git a/sca-cpp/trunk/modules/server/cpp-conf b/sca-cpp/trunk/modules/server/cpp-conf new file mode 100755 index 0000000000..b376585f8c --- /dev/null +++ b/sca-cpp/trunk/modules/server/cpp-conf @@ -0,0 +1,26 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Generate a C++ server conf +here=`readlink -f $0`; here=`dirname $here` +root=`readlink -f $1` + +cat >>$root/conf/httpd.conf <