Return-Path: Delivered-To: apmail-ws-axis-c-dev-archive@www.apache.org Received: (qmail 85380 invoked from network); 22 Oct 2004 20:48:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 22 Oct 2004 20:48:44 -0000 Received: (qmail 16647 invoked by uid 500); 22 Oct 2004 20:48:44 -0000 Delivered-To: apmail-ws-axis-c-dev-archive@ws.apache.org Received: (qmail 16569 invoked by uid 500); 22 Oct 2004 20:48:43 -0000 Mailing-List: contact axis-c-dev-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: List-Id: "Apache AXIS C Developers List" Reply-To: "Apache AXIS C Developers List" Delivered-To: mailing list axis-c-dev@ws.apache.org Received: (qmail 16556 invoked by uid 99); 22 Oct 2004 20:48:43 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=DNS_FROM_RFC_ABUSE,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [195.212.29.136] (HELO mtagate3.uk.ibm.com) (195.212.29.136) by apache.org (qpsmtpd/0.28) with ESMTP; Fri, 22 Oct 2004 13:48:43 -0700 Received: from d06nrmr1407.portsmouth.uk.ibm.com (d06nrmr1407.portsmouth.uk.ibm.com [9.149.38.185]) by mtagate3.uk.ibm.com (8.12.10/8.12.10) with ESMTP id i9MKmcrT200250 for ; Fri, 22 Oct 2004 20:48:38 GMT Received: from d06ml063.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by d06nrmr1407.portsmouth.uk.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i9MKmbSI147398 for ; Fri, 22 Oct 2004 21:48:37 +0100 Subject: New Ant test framework proposal To: axis-c-dev@ws.apache.org X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 Message-ID: From: Andrew Perry2 Date: Fri, 22 Oct 2004 21:51:32 +0100 X-MIMETrack: Serialize by Router on D06ML063/06/M/IBM(Release 6.51HF338 | June 21, 2004) at 22/10/2004 21:51:55 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I've been thinking with my fingers and come up with an idea based upon an xml file for each test. The test properties xml file example is as follows, but can easily be expanded. CalculatorDoc A simple client server test to an IBM WebSPhere Java server cpp CalculatorDocClient.cpp CalculatorDoc.wsdl CalculatorDoc.cpp.out CalculatorDoc.request handler_chain Calculator http://localhost:9080/Calculator/services/Calculator I'm sure that this can be expanded, and I'll create a proper schema soon. When loaded into an Ant script these will converted to properties: test.name - For info only, possibly used for simple documentation test.description - For info only, possibly used for simple documentation test.clientLang - Language of the test, passed to wsdl2ws test.clientCode - The name of the client source file in the clients/test.clientLang directory test.wsdl - The name of the wsdl to pass to wsdl2ws test.expected.output - The test expected output file for comparison test.expected.request* - The client request expected output file for comparison. Mainly for handler tests. test.handler.directory* - All source for handler chains in the directory. See below. test.handler.service* - Name of test service enter into client.wsdd test.endpoint* - The endpoint URL * = optional If no endpoint is specified then the client or WSDL default url will be used. For the handlers I propose a new directory under the test/auto_build/testcases directory called handlers, with a sub-directory of the name of the handler chain to create. This will have sub-directories which will be the name handler libraries to create, without any library prefix (lib on linux) or suffix (.so on linux). The source code for each handler will go in these directories. e.g. tests/auto_build/testcases/handlers/handler_chain/testhandler/THandler.h tests/auto_build/testcases/handlers/handler_chain/testhandler/THandler.cpp tests/auto_build/testcases/handlers/handler_chain/testhandler/TestHandler.cpp will create a client.wsdd file with a handler chain of 1 library called libtesthandler.so (on linux) A new directory called tests/auto_build/testcases/tests will have all the new test xml files in it, 1 xml file for each test. The Ant script will cycle through all files in the directory with the name of the xml files determining the order the tests are run in, but otherwise having no other relevance. This means that the same test can be run multiple times with different endpoints, different wsdls and with or without handlers, with each test having its own xml file. I have written and tested this today, and unless anybody objects I would like to remove the existing test.xml file and implement the changes I have suggested. I have not created an xml file for all of the current tests yet, but will try to automate this. Also full user document to follow describing the framework and showing how to implement new tests. This will have no effect upon the script based test framework if people want to use that. Regards Andrew Perry Clients for Web Service Stack perryan@uk.ibm.com Mail Point 127 IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN Tel. Internal 249828 External + 44 (0)1962 819828 Fax. + 44(0)1962 818080