Forum OpenACS Development: Re: Automated Install, Configuration, and Test

Posted by Randy O'Meara on
Thank you, Vinod. I was aware of the references you listed, and I appreciate your time and offer to cheerlead. I would sure like to see *everyone* post their own notes here. I'm certain that, if someone has used the tools and features, their input here would add value here.

Andrew: Thank you also for the reference. Important feature.

Peter: I have just started to look at the dotlrn installation scripts. I have an old copy so I'll update before I move too far forward. Thanks for pointing out the automation procs. I'll also start looking through the source tree for automated test definitions.

Here's a short blurb describing what I've determined since I began this thread last night.


The following utilities and features are helpful when automating the tasks of installation, configuration, development, and testing of an OACS system or package. These tasks are repetitively performed hundreds of times while developing and testing OACS packages and subsystems. While the tools described below may be used for other purposes, their extreme value can be realized by developers as they develop consistent, quality, error-free extensions and modifications of an OACS system. Automating the error-prone, time consuming, boring tasks of re-installation and initial configuration of a system allows the developer to focus on the creative, non-repetitive tasks required in the development process. This automation along with the provision of an automated package TCL API tester *will* result in higher quality and lower unit development cost. In addition, a well-defined set of TCL API test instructions will result in lower maintenance cost when unit modifications or extensions are necessary. Lastly (and most importantly), the existence of a package TCL API test suite will describe the intended usage of a package's TCL API!

  • The standalone tclwebtest tool is useful in manipulating the system at the HTML, or web UI, level. As such, it can be used both to test and configure the system. tclwebtest will retrieve pages, search for text in the response, fill-in and submit forms, and manipulate client cookies. Since this tool is written in TCL, the coder can utilize the power of this scripting language in his own test scripts.
  • The acs-automated-testing package is useful in manipulating the system at the TCL API level. As such, it can be used in regression testing of packages and subsystems.
  • The internal install.xml feature is useful when installing a custom system. It defines application(s?) and describes settings and actions associated with the application. This feature is an extension of the OACS installation bootstrapping process. Its customization actions are performed upon completion of OACS core installation, but prior to the completion of the installation process.