One of the projects I work on has a reasonable number of JUnit 3 tests (2500). We also use Cruise Control to automate the build cycle. Each package has a suite which defines all the tests to be run, but this has become more and more error prone over time. Developers forget to add tests to the suites, leaving orphaned tests etc.
The obvious solution is to use the batchtest mechanism provided in Apache Ant.
As well as using JChav as part of our deployment cycle, I have additionally been using it to monitor some production servers. For the production servers you obviously don’t run them at any load that is likely to affect the real users. However 1 thread running a set of tests once an hour (thanks to cron) can give a good view of performance over time. I am fully aware of other software that can be used to monitor my sites, but given that I already have a JMeter script designed to test key points of the application it seems like the right solution.
After an interesting JavaOne session on GWT, I thought I would have a quick play with the toolkit. I hit a little roadblock initially which after discussions with other colleagues they had problems with too.
In the Getting Started guide the section on building an Eclipse project skips one step that caught me out. Do not create the project in your Eclipse workspace, instead perform the two steps in a temporary area.
My formative education was all shell based, and its a tough habbit for an old timer like me to break. I’ve never quite got on with screens so was delighted to find Terminator.
Terminator is a java application that provides a fast responsive terminal with additional features like searching. However the killer feature for me is tabbed terminals, this is going to save me so much desktop realestate!
I’ve only run it on OSX so far, but ports are available for Windows and Linux.
I’ve been working on JChav with a couple of colleagues. It allows you to take the output generated by JMeter and track performance over time.
The general idea is that you build a JMeter script that gets run from ant. So after every automated build/deploy the ant task generates an XML file showing the performance for that build.
The JChav ant task then operates on the stored XML files to produce a set of charts.
Introduction
Selenium RC provides an excellent framework for automating UI tests. The issue that we have had with this approach in the past is that we have struggled to automate the use of these tools as no single platform can run the full set of browsers we need for our regression testing.
I missed the google London Test Automation conference but google video has an excellent presentation by Jason Huggons from the day on exactly these topics.
I switched back in April and I thought I should share some of the software I’m now using on a daily basis.
Non Commercial
Smultron is a fantastic little text editor. It supports multiple open files, syntax highlighting etc etc.
Shrook is a nice RSS feed aggregator, with a simple well thought out GUI.
NeoOffice is an Aqua port of Open Office.
Mail Scripts whilst not something I use every day I’m including it here as it has some hugely useful functions.
I needed a simple encrypted partition for some my Mac laptop. After a bit of searching around, I realised that this is actually a built in feature in OSX. To create/use an encrypted partition perform the following steps :
Applications/Utility
launch Disk Utility
Select New Image
Give the image a name, size and select AES for encryption.
Then set a password for the disk. Make sure you do not select the Remember Password option as this means the partition can be automatically mounted.
Trying to keep up with the football this afternoon showed up a little problem listening to RealPlayer streams on the Intel version of OS X.
Bottom line is that RealPlayer is not yet a universal binary. So although it runs fine stand alone it doesn’t support being embedded in a universal binary.
i.e. because Safari and Firefox 1.5.0.2 are in universal format, they cannot embed plugins that are not.
So the options are :
hmmm non for months then two in a day……
I struggled to find a binary copy of mod_jk to link Apache and JBoss over AJP.
Quick summary for anyone else needing to play this game :
a) Snag the code from jakarta.apache.org
b) ./configure -with-apxs=/usr/sbin/apxs
c) copy the resultin mod_jk.so to /usr/libexec/httpd
d) edit httpd.conf in /private/etc/httpd/ to add
LoadModule jk\_module libexec/httpd/mod\_jk.so AddModule mod\_jk.c JkWorkersFile /usr/local/jakarta-tomcat/conf/workers.properties JkLogFile /usr/local/jakarta-tomcat/logs/mod\_jk.log JkLogLevel info JkLogStampFormat "\[%a %b %d %H:%M:%S %Y\] " JKMount /myapp/\* ajp13 e) Create/edit workers.