> 2. Another big problem that lead to instability was the test suite
> used to
> test the BRP. Because a canonical collection of ballots had never been
> created, I threw what I thought was a good set of ballots generated by
> a
> simple script by one of the other team members together and generated
> a PS
> file for each one to scan in. While they did work in most instances
> during
> development, closer to the deadline the filename format straying from
> the
> spec caused some confusion in transferring and comparing EBIs.
I discovered a borderline issue in updating random_ballots.py. I'm not
sure if this might have been affecting BRP--I guess it depends on the
ballot set generated in advance.
It turned out that evm2003.utils.convert.votes2digits() would choke
(raise an exception) on SOME of the ballots generated by
random_ballots.py. Specifically, for the multi-selection contests, I
had been omitting any child <selection> element to indicate no
selections were made. But votes2digits() assumes there is always at
least one <selection> in every race.
I considered modifying votes2digits() to account for this possibility,
but instead changed random_ballots.py to create an element
'<selection>No preference indicated</selection>' in this circumstance.
In a way this is consistent with the use of the same child in
single-selection contests; but in another way, my original approach
makes more sense to me.
Under my original design, you could answer the question "How many
selections did this voter make for this contest?" simply by counting
the child elements. Now the logic is more complicated. Exactly one
child might indicate exactly one preference, or it might indicate no
preferences at all. To determine which, you need to look into the
contents of that once child <selection>.
Does someone on this list have the GUI voting station running? If you
could cast a ballot with no choices for Cat Catcher or County
Commissioner, I'd like to see exactly what gets written to that XML. I
know I could trace through the code to figure it out, but I'd still be
worried I overlooked some branch or flow. Actually doing it makes me
more certain of the XML result.
I checked random_ballots.py into CVS, but it's not showing up on the
web interface. I'll go ahead and attach it now, in case anyone wants
it right away.
Yours, David...
-- Dred Scott 1857; Santa Clara 1876; Plessy 1892; Korematsu 1944; Eldred 2003
==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================
This archive was generated by hypermail 2.1.8 : Sat Nov 22 2008 - 03:47:30 CST