﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
3679	Unit testing framework?	Tristan Croll	Greg Couch	"API changes in the update to ChimeraX 1.1 have broken both Clipper and ISOLDE in all sorts of new and exciting ways, many of which are only coming to light after a full day of testing (a few examples below). This makes me a bit jumpy, and gets me thinking about adding some level of unit testing. The challenge here, of course, is that automatic unit testing becomes somewhat difficult in a graphical environment designed for interactivity. Just wondering if you have any solutions implemented in house, or any thoughts on the subject?

Examples:

- all the changed imports, of course (relatively easy: grep for all the imports done by Clipper/ISOLDE, try them all and list those that fail, then find the new import)
- changes to picking API (view.first_intercept replaced by view.picked_object, change to `Drawing.pickable` behaviour)
- `dssp_cache` input to `match_maker.match()` changed from `set` to `dict` - broke my reference-model distance and torsion restraints, and would have made it through to the release if I hadn't happened to try to use the torsion restraints for a model I'm currently helping with.
- something different about the way models are cleaned up on deletion now causes a traceback when I close a Clipper crystal structure - just picked up this evening, will tackle tomorrow.

Not complaining, as such - I can see the logic behind these changes - but without a solid testing framework it's only going to get harder for third-party developers to catch and respond to things like this."	defect	assigned	major		Test Framework				Tom Goddard Eric Pettersen				all	ChimeraX
