Integration Testing

Doing integration testing can always be quite entertaining. Today I found a bug that is completely consistently easily reproducible–if you do some combination of things on about the order of complexity as most video game cheat codes–Send a reset. send four ammo level sets as one message. Then send three more ammo sets individually. then reset. notice reset was ignored, incorrectly. reset again. suddenly it works. As it turns out ammo level set wasn’t setting the toggle bit… so if you had seven ammo messages going across, the first two resets had identical toggle bits and thus were being filtered as duplicates.