diff options
Diffstat (limited to 'qpid/cc')
30 files changed, 1709 insertions, 0 deletions
diff --git a/qpid/cc/LICENSE b/qpid/cc/LICENSE new file mode 100644 index 0000000000..bc46b77047 --- /dev/null +++ b/qpid/cc/LICENSE @@ -0,0 +1,206 @@ +========================================================================= +== Apache License == +========================================================================= + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + diff --git a/qpid/cc/NOTICE b/qpid/cc/NOTICE new file mode 100644 index 0000000000..05f39ba176 --- /dev/null +++ b/qpid/cc/NOTICE @@ -0,0 +1,8 @@ +// ------------------------------------------------------------------ +// NOTICE file corresponding to the section 4d of The Apache License, +// Version 2.0, in this case for Qpid bin scripts +// ------------------------------------------------------------------ + +Apache Qpid +Copyright 2006-2008 Apache Software Foundation + diff --git a/qpid/cc/README.txt b/qpid/cc/README.txt new file mode 100644 index 0000000000..8d1286f6d7 --- /dev/null +++ b/qpid/cc/README.txt @@ -0,0 +1,84 @@ +****************** +Prerequisites +****************** +Check out the source +see http://cwiki.apache.org/qpid/building.html + +****************** +Install CruiseControl +****************** + +Download CruiseControl from: http://cruisecontrol.sourceforge.net/ + + * Unzip the release to a directory, for example ~/cruisecontrol-bin-2.7.2 + * Check that the scripts cruisecontrol-bin-2.7.2/cruisecontrol.sh and cruisecontrol-bin-2.7.2/apache-ant-1.7.0/bin/ant have execution permission. + * Make sure your directory ~/.ant/lib contains the following jars: + o The ant jar files that can be found in cruisecontrol-bin-2.7.2/apache-ant-1.7.0/lib/ + o xalan-2.7.0.jar + +****************** +Set system variables +****************** + +Prior to use CruiseControl you'll need to set three system variables: +Variable Value +CC_HOME path to your qpid project, for example /home/foo/projects/qpid +CPPSTORE_HOME path to your C++ store, for example /home/foo/projects/bdbstore-cpp +NANT_HOME path to the nant directory -- only required for .net client -- + (nant can be downloaded from http://nant.sourceforge.net/) + +Edit the file CC_HOME/config.properties and set the properties so to match your system requirements. +Notes + * the cpp store can be checked out from: https://svn.jboss.org/repos/rhmessaging/store/trunk/cpp + * Only unix scrips are currently provided + * + + +****************** +Installing Mono +****************** +For building the .net client on a Linux platform you need to install Mono. +Mono website is: http://www.mono-project.com/Main_Page +Here are the instruction for a RHEL5 platform: + +Create the file "/etc/yum.repos.d/mono.repo" and add the following lines: + +[Mono] +name=Mono Stack (RHEL_5) +type=rpm-md +baseurl=http://download.opensuse.org/repositories/Mono/RHEL_5/ +gpgcheck=1 +gpgkey=http://download.opensuse.org/repositories/Mono/RHEL_5/repodata/repomd.xml.key +enabled=1 + +Enter the following command to install Mono: + +# yum install mono-complete + + +****************** +Running CruiseControl +****************** + +Run cruisecontrol-bin-2.7.2/cruisecontrol.sh from CC_HOME/cc + +****************** +Running the Sun java TCK +****************** + +If you wish to run the Sun JMS TCK, follow those two steps: +* Extract the TCK +* (As required by the TCK) Set TS_HOME to the location where the JMS TCK has been installed. + +****************** +Projects +****************** + +Project Description +qpid-cpp-trunk Builds and tests the C++ broker +qpid-cpp-trunk-perftests Runs the C++ performance tests +qpid-java-trunk Builds and runs the Java tests with an 0.8 inVM broker, a c++ broker without prefetch and a c++ broker with pre-fetch +bdbstore-cpp-trunk Builds the C++ store (required for the Java tests) +example-automation Runs all the example combinations for python, C++ and java +java-perftests Runs the java performance tests +java-jmstck Runs the java jms tck (see running the tck)
\ No newline at end of file diff --git a/qpid/cc/config.properties b/qpid/cc/config.properties new file mode 100644 index 0000000000..82329722cc --- /dev/null +++ b/qpid/cc/config.properties @@ -0,0 +1,25 @@ +# +# +# 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. +# +# + +mail.subject=CC Report for +mail.host=localhost +mail.returnaddress=my-email +mail.list=list diff --git a/qpid/cc/config.xml b/qpid/cc/config.xml new file mode 100644 index 0000000000..ba89acc511 --- /dev/null +++ b/qpid/cc/config.xml @@ -0,0 +1,37 @@ +<!--
+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.
+-->
+
+<cruisecontrol>
+ <!-- Load environment variables -->
+ <property environment="env" toupper="true"/>
+
+ <!-- Set a collection of global properties from the properties file "config.properties" -->
+ <property file="${env.CC_HOME}/cc/config.properties"/>
+
+ <include.projects file="./config/cpp-trunk.xml"/>
+ <include.projects file="./config/java-trunk.xml"/>
+ <include.projects file="./config/dotnet-trunk.xml"/>
+ <include.projects file="./config/bdbstore-cpp-trunk.xml"/>
+ <include.projects file="./config/cpp-perftests.xml"/>
+ <include.projects file="./config/example-automation.xml"/>
+ <include.projects file="./config/java-perftests.xml"/>
+ <include.projects file="./config/java-jmstck.xml"/>
+</cruisecontrol>
+
+
diff --git a/qpid/cc/config/bdbstore-cpp-trunk.xml b/qpid/cc/config/bdbstore-cpp-trunk.xml new file mode 100644 index 0000000000..254af62170 --- /dev/null +++ b/qpid/cc/config/bdbstore-cpp-trunk.xml @@ -0,0 +1,54 @@ +<!--
+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.
+-->
+<cruisecontrol>
+ <project name="bdbstore-cpp-trunk"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="${env.CPPSTORE_HOME}"/>
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <buildstatus logdir="${env.CC_HOME}/cc/logs/qpid-cpp-trunk/"/>
+ <svn localWorkingCopy="${env.CPPSTORE_HOME}"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="${env.CC_HOME}/cc/scripts/bdbstorecppbuild.sh"
+ workingdir="${env.CPPSTORE_HOME}"/>
+ </schedule>
+
+ <publishers>
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/cpp-perftests.xml b/qpid/cc/config/cpp-perftests.xml new file mode 100644 index 0000000000..8a5079b60b --- /dev/null +++ b/qpid/cc/config/cpp-perftests.xml @@ -0,0 +1,63 @@ +<!--
+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.
+-->
+
+<cruisecontrol>
+
+ <project name="qpid-cpp-trunk-perftests"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../cpp" />
+ <svnbootstrapper localWorkingCopy="../specs" />
+ <svnbootstrapper localWorkingCopy="../python" />
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <alwaysbuild />
+ </modificationset>
+
+ <schedule>
+ <ant target="cpp-perftests"
+ uselogger="false"
+ time="0000"
+ timeout="3600"
+ antworkingdir="scripts">
+ </ant>
+ </schedule>
+
+ <publishers>
+ <!--
+ <email subjectprefix="CC report fro ${project.name}" mailhost="localhost"
+ returnaddress="my_email"
+ buildresultsurl="http://my_host:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="email"/>
+ <map alias="name" address="email"/>
+ </email>
+ -->
+ </publishers>
+
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/cpp-trunk.xml b/qpid/cc/config/cpp-trunk.xml new file mode 100644 index 0000000000..56e1d2bb54 --- /dev/null +++ b/qpid/cc/config/cpp-trunk.xml @@ -0,0 +1,59 @@ +<!--
+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.
+-->
+<cruisecontrol>
+ <project name="qpid-cpp-trunk"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../bin" />
+ <svnbootstrapper localWorkingCopy="../cpp" />
+ <svnbootstrapper localWorkingCopy="../specs" />
+ <svnbootstrapper localWorkingCopy="../python" />
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <svn localWorkingCopy="../bin"/>
+ <svn localWorkingCopy="../cpp"/>
+ <svn localWorkingCopy="../specs"/>
+ <svn localWorkingCopy="../python"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/cppbuild.sh"
+ workingdir="../cpp" />
+ </schedule>
+
+ <publishers>
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/dotnet-trunk.xml b/qpid/cc/config/dotnet-trunk.xml new file mode 100644 index 0000000000..0d922967e4 --- /dev/null +++ b/qpid/cc/config/dotnet-trunk.xml @@ -0,0 +1,63 @@ +<!--
+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.
+-->
+<cruisecontrol>
+ <project name="qpid-dotnet-trunk"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../bin" />
+ <svnbootstrapper localWorkingCopy="../dotnet/client-010" />
+ <svnbootstrapper localWorkingCopy="../specs" />
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <svn localWorkingCopy="../bin"/>
+ <svn localWorkingCopy="../dotnet/client-010"/>
+ <svn localWorkingCopy="../specs"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <!-- generates code from specs -->
+ <ant target="build"
+ uselogger="false"
+ antworkingdir="../dotnet/client-010/gentool">
+ </ant>
+
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/dotnetbuild.sh"
+ workingdir="../dotnet/client-010" />
+ </schedule>
+
+ <publishers>
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/example-automation.xml b/qpid/cc/config/example-automation.xml new file mode 100644 index 0000000000..52dd135c24 --- /dev/null +++ b/qpid/cc/config/example-automation.xml @@ -0,0 +1,58 @@ +<!--
+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.
+-->
+<cruisecontrol>
+ <project name="qpid-example-automation"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <modificationset quietperiod="30">
+ <buildstatus logdir="logs/qpid-cpp-trunk/"/>
+ <buildstatus logdir="logs/qpid-java-trunk/"/>
+ <buildstatus logdir="logs/bdbstore-cpp-trunk/"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="${env.CC_HOME}/cc/scripts/check_examples.sh"
+ errorstr="FAILED"
+ workingdir="./"/>
+ </schedule>
+
+ <publishers>
+ <artifactspublisher dest="artifacts/${project.name}"
+ file="${env.CC_HOME}/broker.log"/>
+ <artifactspublisher dest="artifacts/${project.name}"
+ file="${env.CC_HOME}/script.log"/>
+
+
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/java-jmstck.xml b/qpid/cc/config/java-jmstck.xml new file mode 100644 index 0000000000..2b10b0c5b5 --- /dev/null +++ b/qpid/cc/config/java-jmstck.xml @@ -0,0 +1,63 @@ +<!-- +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. +--> + +<cruisecontrol> + <project name="qpid-java-jmstck" + buildafterfailed="false"> + + <listeners> + <currentbuildstatuslistener file="logs/${project.name}/status.txt"/> + </listeners> + + <modificationset quietperiod="30"> + <buildstatus logdir="logs/qpid-cpp-trunk/"/> + <buildstatus logdir="logs/qpid-java-trunk/"/> + </modificationset> + + <schedule> + <ant target="tck" + uselogger="false" + time="0000" + timeout="3600" + antworkingdir="scripts"> + </ant> + </schedule> + + <publishers> + <artifactspublisher dest="artifacts/${project.name}" + file="${env.TS_HOME}/tck1.log"/> + <artifactspublisher dest="artifacts/${project.name}" + file="${env.TS_HOME}/tck2.log"/> + + <onfailure> + <artifactspublisher dest="artifacts/${project.name}" + file="${env.CC_HOME}/jmstck-broker.log"/> + </onfailure> + + <email subjectprefix="RHEL5/64" mailhost="localhost" + returnaddress="qpid-test-cruisecontrol@qpid-test.lab.bos.redhat.com" + buildresultsurl="http://qpid-test.lab.bos.redhat.com:8080/buildresults/${project.name}" + skipusers="false" + reportsuccess="fixes" + spamwhilebroken="true"> + <always address="amqp-list@redhat.com"/> + </email> + </publishers> + </project> +</cruisecontrol> diff --git a/qpid/cc/config/java-perftests.xml b/qpid/cc/config/java-perftests.xml new file mode 100644 index 0000000000..45e1b14b9f --- /dev/null +++ b/qpid/cc/config/java-perftests.xml @@ -0,0 +1,72 @@ +<!--
+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.
+-->
+
+<cruisecontrol>
+ <project name="qpid-java-perftests"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../java/perftests"/>
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <buildstatus logdir="logs/qpid-cpp-trunk/"/>
+ <buildstatus logdir="logs/qpid-java-trunk/"/>
+ <svn localWorkingCopy="../java/perftests"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <composite>
+ <!-- 0.10 C++ broker -->
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/runbroker.sh"
+ workingdir="../java"/>
+ <ant target="all-tests"
+ uselogger="false"
+ antworkingdir="../java/perftests">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/stopbroker.sh"
+ workingdir="../java"/>
+ </composite>
+ </schedule>
+
+ <publishers>
+ <artifactspublisher dest="artifacts/${project.name}"
+ subdirectory="results"
+ dir="../java/perftests/results"/>
+
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/java-trunk.xml b/qpid/cc/config/java-trunk.xml new file mode 100644 index 0000000000..99f469725b --- /dev/null +++ b/qpid/cc/config/java-trunk.xml @@ -0,0 +1,142 @@ +<!--
+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.
+-->
+
+<cruisecontrol>
+ <project name="qpid-java-trunk"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../java"/>
+ <svnbootstrapper localWorkingCopy="../gentools"/>
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <buildstatus logdir="logs/qpid-cpp-trunk/"/>
+ <buildstatus logdir="logs/bdbstore-cpp-trunk/"/>
+ <svn localWorkingCopy="../java"/>
+ <svn localWorkingCopy="../gentools"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <composite>
+
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/javaconfig.sh"
+ workingdir="../java"/>
+ <!-- in VM 0.8 -->
+ <ant target="clean test"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+
+ <ant target="report"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/javareport.sh 08"
+ workingdir="../java"/>
+
+ <!-- cpp -->
+ <ant target="test"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ <property name="profile" value="cpp"/>
+ </ant>
+ <ant target="report"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/javareport.sh cpp"
+ workingdir="../java"/>
+
+ <!-- cpp no prefetch -->
+ <ant target="test"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ <property name="profile" value="cpp.noprefetch"/>
+ </ant>
+ <ant target="report"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/javareport.sh cpp-noprefetch"
+ workingdir="../java"/>
+
+ <!-- make the release
+ <ant target="release"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </ant>
+ -->
+ </composite>
+ </schedule>
+
+ <publishers>
+ <onfailure>
+ <antpublisher target="report"
+ uselogger="false"
+ antworkingdir="../java">
+ <jvmarg arg="-Xmx1024m"/>
+ </antpublisher>
+ </onfailure>
+ <artifactspublisher dest="artifacts/${project.name}"
+ subdirectory="report_08"
+ dir="../java/build/report_08"/>
+
+ <artifactspublisher dest="artifacts/${project.name}"
+ subdirectory="report_cpp"
+ dir="../java/build/report_cpp"/>
+
+ <artifactspublisher dest="artifacts/${project.name}"
+ subdirectory="report_cpp-noprefetch"
+ dir="../java/build/report_cpp-noprefetch"/>
+
+ <artifactspublisher dest="artifacts/${project.name}"
+ subdirectory="report-fault"
+ dir="../java/build/report"/>
+
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/config/java/cpp.noprefetch.testprofile b/qpid/cc/config/java/cpp.noprefetch.testprofile new file mode 100644 index 0000000000..07c158dd4e --- /dev/null +++ b/qpid/cc/config/java/cpp.noprefetch.testprofile @@ -0,0 +1,22 @@ +# +# 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. +# +broker.version=0-10 +broker=${project.root}/../cpp/src/qpidd --data-dir ${build.data} -t --load-module store_home/lib/.libs/libbdbstore.so --auth no --no-module-dir +max_prefetch=0 +test.excludesfile=${project.root}/010ExcludeList-noPrefetch diff --git a/qpid/cc/config/java/cpp.testprofile b/qpid/cc/config/java/cpp.testprofile new file mode 100644 index 0000000000..28361c6b40 --- /dev/null +++ b/qpid/cc/config/java/cpp.testprofile @@ -0,0 +1,21 @@ +# +# 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. +# +broker.version=0-10 +broker=${project.root}/../cpp/src/qpidd --data-dir ${build.data} -t --load-module store_home/lib/.libs/libbdbstore.so --auth no --no-module-dir +test.excludesfile=${project.root}/010ExcludeList-store diff --git a/qpid/cc/config/java/jndi.properties b/qpid/cc/config/java/jndi.properties new file mode 100644 index 0000000000..9340163622 --- /dev/null +++ b/qpid/cc/config/java/jndi.properties @@ -0,0 +1,42 @@ +# +# +# 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. +# +# + +java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory + +connectionfactory.QueueConnectionFactory = amqp://username:password@topicClientid/test?brokerlist='tcp://localhost:qpid_port' +connectionfactory.TopicConnectionFactory = amqp://username:password@topicClientid/test?brokerlist='tcp://localhost:qpid_port' +connectionfactory.jms/DURABLE_SUB_CONNECTION_FACTORY = amqp://username:password@duralbeTopicClientid/test?brokerlist='tcp://localhost:qpid_port' +connectionfactory.jms/MyTopicConnectionFactory = amqp://username:password@myTopicClientid/test?brokerlist='tcp://localhost:qpid_port' +connectionfactory.jms/TopicConnectionFactory = amqp://username:password@jmsTopicClientid/test?brokerlist='tcp://localhost:qpid_port' + +queue.MY_QUEUE=MY_QUEUE +queue.MY_QUEUE2=MY_QUEUE2 +queue.testQ0=testQ0 +queue.testQ1=testQ1 +queue.testQ2=testQ2 +queue.testQueue2=testQueue2 +queue.Q2=Q2 + +topic.MY_TOPIC=MY_TOPIC +topic.MY_TOPIC1=MY_TOPIC1 + +destination.direct = direct://amq.direct//directQueue + diff --git a/qpid/cc/dashboard-config.xml b/qpid/cc/dashboard-config.xml new file mode 100644 index 0000000000..9304322853 --- /dev/null +++ b/qpid/cc/dashboard-config.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> + + <dashboard> + <buildloop + logsdir="logs/" + artifactsdir="artifacts" /> + <features allowforcebuild="true"/> + <trackingtool projectname="cc" baseurl="http://localhost:8080/" keywords="QPID"/> + <subtabs> + <subtab class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" /> + </subtabs> +</dashboard> + diff --git a/qpid/cc/scripts/bdbstorecppbuild.sh b/qpid/cc/scripts/bdbstorecppbuild.sh new file mode 100755 index 0000000000..3385c8d2f4 --- /dev/null +++ b/qpid/cc/scripts/bdbstorecppbuild.sh @@ -0,0 +1,24 @@ +#!/bin/bash +########################################################### +#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. +########################################################### + +if [ -f Makefile ]; then + make distclean +fi + ./bootstrap && ./configure CXXFLAGS="-O3 -DNDEBUG" --with-qpid-checkout=$CC_HOME && make diff --git a/qpid/cc/scripts/build.xml b/qpid/cc/scripts/build.xml new file mode 100644 index 0000000000..2144020017 --- /dev/null +++ b/qpid/cc/scripts/build.xml @@ -0,0 +1,30 @@ +<!-- +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. +--> + +<project name="run-tests" default="cpp-perftests" basedir="."> + + <target name="cpp-perftests"> + <exec executable="./cppbuild-perftests.sh" failonerror="true"/> + </target> + + <target name="tck"> + <exec executable="./javajmstck.sh"/> + </target> + +</project> diff --git a/qpid/cc/scripts/check_examples.sh b/qpid/cc/scripts/check_examples.sh new file mode 100755 index 0000000000..c10936b36c --- /dev/null +++ b/qpid/cc/scripts/check_examples.sh @@ -0,0 +1,69 @@ +#!/bin/bash +########################################################### +#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. +########################################################### + +runVerifyScript() +{ + echo "-----------<Run verify scripts>-------------" + $CC_HOME/cc/scripts/verify_all + echo "-----------</Run verify scripts>------------" + echo "" +} + +cleanup() +{ +rm -f $CC_HOME/script.log +rm -f $CC_HOME/status.log +rm -f $CC_HOME/broker.log +} + +checkErrors() +{ +if test `cat $CC_HOME/script.log | grep -c 'FAIL'` -gt 0 +then + echo "FAILED" + printErrors > $CC_HOME/status.log +fi +} + +printErrors(){ + echo "<desc>The following scripts had failures" + cat CC_HOME/script.log | awk '{ + script = "" + while ((getline) == 1) + { + if ($1 == "script:") + { + script = $0 + } + if ($1 == "FAIL") + { + print substr(script,9) + } + }}' + echo "</desc>" +} + +echo "*************************************" +echo "Example Automation " +echo "" +cleanup +runVerifyScript +checkErrors +echo "*************************************" diff --git a/qpid/cc/scripts/cppbuild-perftests.sh b/qpid/cc/scripts/cppbuild-perftests.sh new file mode 100755 index 0000000000..782a472175 --- /dev/null +++ b/qpid/cc/scripts/cppbuild-perftests.sh @@ -0,0 +1,23 @@ +#!/bin/bash +########################################################### +#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. +########################################################### + +cd $CC_HOME/cpp +svn stat --no-ignore | awk '/^[I?]/{print $2}' | xargs rm -r +./bootstrap && ./configure CXXFLAGS="-O3 -DNDEBUG" && make -j4 all && cd src/tests && make -j4 check diff --git a/qpid/cc/scripts/cppbuild.sh b/qpid/cc/scripts/cppbuild.sh new file mode 100755 index 0000000000..b63feb7141 --- /dev/null +++ b/qpid/cc/scripts/cppbuild.sh @@ -0,0 +1,21 @@ +#!/bin/bash -x +########################################################### +#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. +########################################################### + +make distclean && ./bootstrap && ./configure && make
\ No newline at end of file diff --git a/qpid/cc/scripts/dotnetbuild.sh b/qpid/cc/scripts/dotnetbuild.sh new file mode 100644 index 0000000000..51d2110757 --- /dev/null +++ b/qpid/cc/scripts/dotnetbuild.sh @@ -0,0 +1,21 @@ +#!/bin/bash -x +########################################################### +#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. +########################################################### + +mono $NANT_HOME/bin/NAnt.exe test
\ No newline at end of file diff --git a/qpid/cc/scripts/javaconfig.sh b/qpid/cc/scripts/javaconfig.sh new file mode 100755 index 0000000000..7a1a3a1a7d --- /dev/null +++ b/qpid/cc/scripts/javaconfig.sh @@ -0,0 +1,27 @@ +#!/bin/bash +########################################################### +#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. +########################################################### + +# copy the profiles +sed "s#store_home#$CPPSTORE_HOME#g" $CC_HOME/cc/config/java/cpp.noprefetch.testprofile > "$CC_HOME/java/"/cpp.noprefetch.testprofile +sed "s#store_home#$CPPSTORE_HOME#g" $CC_HOME/cc/config/java/cpp.testprofile > "$CC_HOME/java"/cpp.testprofile +QPID_JARS=`find "$CC_HOME/java/build/lib" -name '*.jar' | tr '\n' ":"` +QPID_JARS=local.classes=$QPID_JARS +sed "s#local.classes=.*#$QPID_JARS#g" $TS_HOME/bin/build.properties > "$TS_HOME/bin"/build.properties-new +mv $TS_HOME/bin/build.properties-new $TS_HOME/bin/build.properties
\ No newline at end of file diff --git a/qpid/cc/scripts/javajmstck.sh b/qpid/cc/scripts/javajmstck.sh new file mode 100644 index 0000000000..9d279ed38e --- /dev/null +++ b/qpid/cc/scripts/javajmstck.sh @@ -0,0 +1,80 @@ +#!/bin/bash +# +# 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. +# + +cleanup(){ + echo "kill any existing broker instance" + stopBroker + rm -rf $CC_HOME/jmstck-data/* +} + +runBroker(){ + echo "******************************************************" + echo "Starting C++ broker" + ulimit -c unlimited + $CC_HOME/cpp/src/qpidd -t -d --data-dir $CC_HOME/jmstck-data --load-module=$CPPSTORE_HOME/lib/.libs/libbdbstore.so --port 0 --auth no --log-output $CC_HOME/jmstck-broker.log --no-module-dir + export QPID_PORT=`grep "Listening on TCP port" $CC_HOME/jmstck-broker.log | tail -n 1 | awk '{print $8}'` + echo " broker running on port: " $QPID_PORT + echo "******************************************************" + sed "s/qpid_port/$QPID_PORT/g" $CC_HOME/cc/config/java/jndi.properties > "$TS_HOME/classes"/jndi.properties +} + +runTck(){ + echo "******************************************************" + echo "Starting the TCK for the $1 iteration" + echo "******************************************************" + cd $TS_HOME/bin + $TS_HOME/bin/tsant runclient -Dwork.dir=work -Dreport.dir=report 2&>1 > $TS_HOME/tck$1.log + echo "******************************************************" + echo "TCK finished the $1 iteration" + echo "******************************************************" +} + +printResults(){ + TESTS_STR=`grep -a "\[java\] Completed running [0-9]* tests" $TS_HOME/tck$1.log` + PASSED_STR=`grep -a "\[java\] Number of Tests Passed =" $TS_HOME/tck$1.log` + FAILED_STR=`grep -a "Some tests did not pass" $TS_HOME/tck$1.log` + echo "-----------------------------------------" + echo "TCK run #$1 results:" + echo $TESTS_STR + echo $PASSED_STR + echo $FAILED_STR + if [ "$FAILED_STR" != "" ]; then + echo "SOME TCK FAILURES DETECTED: " + fi + echo "------------------------------------------" +} + +stopBroker(){ + echo "************************" + echo "Stopping the C++ broker" + echo "************************" + $CC_HOME/cpp/src/qpidd -q -p $QPID_PORT +} + +cleanup +counter=0 +runBroker +for j in 1 2 +do + counter=`expr $counter + 1` + runTck $counter + printResults $counter +done +cleanup diff --git a/qpid/cc/scripts/javareport.sh b/qpid/cc/scripts/javareport.sh new file mode 100755 index 0000000000..2b2469d31d --- /dev/null +++ b/qpid/cc/scripts/javareport.sh @@ -0,0 +1,25 @@ +#!/bin/bash +########################################################### +#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. +########################################################### +cd "$CC_HOME/java/build" +pwd +if [[ -d report_$1 ]]; then rm -fr report_$1; fi +if [[ -d report ]]; then mv report report_$1; fi +rm -rf ./results/* +rm -rf ./data/*
\ No newline at end of file diff --git a/qpid/cc/scripts/runbroker.sh b/qpid/cc/scripts/runbroker.sh new file mode 100644 index 0000000000..43d9b39056 --- /dev/null +++ b/qpid/cc/scripts/runbroker.sh @@ -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. +########################################################### + +cleanup() +{ + echo "******************************************************" + echo "Cleanup" + echo "******************************************************" + for PID in `ps aux | grep 'qpidd'|grep 'broker.log'|grep -v 'grep'|awk '{ print $2 }'` + do + kill -9 $PID + done +} + +run_broker() +{ + echo "******************************************************" + echo "Starting C++ broker" + echo "******************************************************" + echo "" + $CC_HOME/cpp/src/qpidd -t -d --auth no --no-data-dir --log-output $CC_HOME/broker.log +} + +cleanup +run_broker
\ No newline at end of file diff --git a/qpid/cc/scripts/stopbroker.sh b/qpid/cc/scripts/stopbroker.sh new file mode 100644 index 0000000000..f5839e141f --- /dev/null +++ b/qpid/cc/scripts/stopbroker.sh @@ -0,0 +1,31 @@ +#!/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. +########################################################### + + +stop_broker() +{ + echo "******************************************************" + echo "Stopping the C++ broker" + echo "******************************************************" + echo "" + $CC_HOME/cpp/src/qpidd -q +} + +stop_broker
\ No newline at end of file diff --git a/qpid/cc/scripts/verify b/qpid/cc/scripts/verify new file mode 100755 index 0000000000..35191b17c9 --- /dev/null +++ b/qpid/cc/scripts/verify @@ -0,0 +1,100 @@ +#!/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. +########################################################### + +export DOTNET_EXAMPLES=$CC_HOME/dotnet/client-010/bin/mono-2.0/debug +export CLASSPATH=`find "$CC_HOME/java/build/lib" -name '*.jar' | tr '\n' ":"` +export CPP=$CC_HOME/cpp/examples +export JAVA=$CC_HOME/java/client/example/src/main/java +export PYTHONPATH=$CC_HOME/python/ +export PYTHON_EXAMPLES=$CC_HOME/python/examples + +cleanup() { + test -n "$QPIDD" && $QPIDD -q # Private broker + kill %% > /dev/null 2>&1 # Leftover background jobs +} + +trap cleanup EXIT + +ARGS="${QPID_HOST:-localhost} $QPID_PORT" + +outfile() { + file=$1 + while [ -f $file.out ]; do file="${file}X"; done + echo $file.out + } + +fail() { test -n "$*" && echo $* 1>&2 ; FAIL=1; return 1; } + +client() +{ + "$@" $ARGS > `outfile $*` || fail; +} + +clients() { for cmd in "$@"; do client $cmd; done; } + +waitfor() { until grep -a -l "$2" $1 >/dev/null 2>&1 ; do sleep 1 ; done ; } + +background() { + pattern=$1; shift + out=`outfile $*` + eval "$* $ARGS > $out &" || { fail; return 1; } + waitfor $out "$pattern" +} + +name() { + for x in $*; do name="$name `basename $x`"; done + echo $name; +} + +outputs() { + wait 2> /dev/null # Wait for all backgroud processes to complete + rm -f $script.out + for f in "$@"; do + { echo "==== `name $f`"; eval "cat $f"; } >> $script.out || fail + rm -rf `echo $f| awk '{ print $1 }'` + done +} + +verify() { + FAIL= + if [ -d $1 ]; then dir=$1; script=verify; + else dir=`dirname $1`; script=`basename $1`; fi + cd $dir || return 1 + rm -f *.out + echo "Running: $dir/$script" + { source ./$script && diff -ac $script.out $script.in ; } || fail + test -z "$FAIL" && rm -f *.out + return $FAIL +} + +HEX="[a-fA-F0-9]" +remove_uuid() { + sed "s/$HEX\{8\}-$HEX\{4\}-$HEX\{4\}-$HEX\{4\}-$HEX\{12\}//g" $* +} +remove_uuid64() { + sed 's/[-A-Za-z0-9_]\{22\}==//g' $* +} + + +for example in "$@"; do + echo "Running: $example " + if ( verify $example; ) then echo "PASS"; else echo "FAIL"; RET=1; fi + done +exit $RET diff --git a/qpid/cc/scripts/verify_all b/qpid/cc/scripts/verify_all new file mode 100755 index 0000000000..8d3ec669a7 --- /dev/null +++ b/qpid/cc/scripts/verify_all @@ -0,0 +1,166 @@ +#!/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. +########################################################### + +cleanup() +{ + echo "******************************************************" + echo "Cleanup" + echo "******************************************************" + for PID in `ps aux | grep 'qpidd'|grep 'broker.log'|grep -v 'grep'|awk '{ print $2 }'` + do + kill -9 $PID + done +} + +run_broker() +{ + echo "******************************************************" + echo "Starting C++ broker" + echo "******************************************************" + echo "" + $CC_HOME/cpp/src/qpidd -t -d --auth no --no-data-dir --log-to-file $CC_HOME/broker.log +} + +stop_broker() +{ + echo "******************************************************" + echo "Stopping the C++ broker" + echo "******************************************************" + echo "" + $CC_HOME/cpp/src/qpidd -q +} + +verify() +{ + #echo "arg " $2 " path: " $1 + for dir in $(find $1 -mindepth 1 -maxdepth 1 -type d -not -name '*.svn' -not -name $3 ) + do + echo $dir + for script in $(find $dir -mindepth 1 -maxdepth 1 -type f -name $2 -not -name '*.*') + do + # echo "script:" $script + cleanup + run_broker + $CC_HOME/cc/scripts/verify $script >> $CC_HOME/script.log 2>&1 + killall 'verify' + stop_broker + done +done +} + +run_python_python() +{ +echo "-----------<Running Python/Python combination>---------" +verify $CC_HOME/python/examples "verify" "xml-exchange" +echo "-----------</Running Python/Python combination>---------" +echo "" +} + + +run_cpp_cpp() +{ +echo "-----------<Running C++/C++ combination>---------" +verify $CC_HOME/cpp/examples "verify" "*.svn" +echo "-----------</Running C++/C++ combination>--------" +echo "" +} + +run_python_cpp_comb() +{ +echo "-----------<Running Python/C++ combination>---------" +verify $CC_HOME/cpp/examples "verify_cpp_python" "*.svn" +verify $CC_HOME/cpp/examples "verify_python_cpp" "*.svn" +echo "-----------</Running Python/C++ combination>--------" +echo "" +} + + +run_java_java() +{ +echo "-----------<Running Java/Java combination>---------" +verify $CC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample "verify" "*.svn" +echo "-----------</Running Java/Java combination>--------" +echo "" +} + +run_java_cpp_comb() +{ +echo "-----------<Running Java/C++ combination>---------" +verify $CC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample "verify_java_cpp" "*.svn" +verify $CC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample "verify_cpp_java" "*.svn" +echo "-----------</Running Java/C++ combination>--------" +echo "" +} + +run_java_python_comb() +{ +echo "-----------<Running Java/Python combination>---------" +verify $CC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample "verify_java_python" "*.svn" +verify $CC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample "verify_python_java" "*.svn" +echo "-----------</Running Java/Python combination>--------" +echo "" +} + +run_dotnet_dotnet() +{ +echo "-----------<Running .Net/.Net combination>---------" +verify $CC_HOME/dotnet/client-010/examples/ "verify" "*.svn" +echo "-----------</Running .Net/.Net combination>--------" +echo "" +} + +run_cpp_dotnet() +{ +echo "-----------<Running C++/.Net combination>---------" +verify $CC_HOME/dotnet/client-010/examples/ "verify_cpp_dotnet" "*.svn" +verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_cpp" "*.svn" +echo "-----------</Running C++/.Net combination>--------" +echo "" +} + +run_java_dotnet() +{ +echo "-----------<Running Java/.Net combination>---------" +verify $CC_HOME/dotnet/client-010/examples/ "verify_java_dotnet" "*.svn" +verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_java" "*.svn" +echo "-----------</Running Java/.Net combination>--------" +echo "" +} + +run_python_dotnet() +{ +echo "-----------<Running Python/.Net combination>---------" +verify $CC_HOME/dotnet/client-010/examples/ "verify_python_dotnet" "*.svn" +verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_python" "*.svn" +echo "-----------</Running Python/.Net combination>--------" +echo "" +} + + +run_python_python +run_python_cpp_comb +run_cpp_cpp +run_java_java +run_java_cpp_comb +run_java_python_comb +run_dotnet_dotnet +run_cpp_dotnet +run_java_dotnet +run_python_dotnet
\ No newline at end of file |