Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some unit tests #26

Closed
peterbrittain opened this issue Apr 18, 2016 · 5 comments
Closed

Add some unit tests #26

peterbrittain opened this issue Apr 18, 2016 · 5 comments
Assignees

Comments

@peterbrittain
Copy link
Owner

It's about time this project had some automated tests. Things to consider are:

  • Python 2 / 3
  • Basic functional paths for low level API
  • More detailed tests of higher level API - e.g. widget logic
  • Support for keyboard input injection (for better testing)

Probably should use https://travis-ci.org for the tests.

@peterbrittain
Copy link
Owner Author

Started experimenting... looks like coveralls output would be good too. Now just need to get a LOT more coverage.

@peterbrittain
Copy link
Owner Author

Also would be helpful if I could inject input into the test system. Looks like this is possible on curses and win32. Not sure if it's worth the reverse translation effort, though. Maybe I should just use an internal buffer (and flag the buffer for testing only, rather than genuine OS event injection)?

@peterbrittain
Copy link
Owner Author

Would be nice to get Windows and Linux coverage... Looks like I might have to use https://github.com/Robpol86/appveyor-artifacts to get it all into coveralls.

@peterbrittain peterbrittain self-assigned this Apr 28, 2016
@peterbrittain
Copy link
Owner Author

Travis and appveyor integration now done. Code coverage getting there for non visual interfaces. Need to think about all the genuinely visual tests and where to draw the line for UT.

@peterbrittain
Copy link
Owner Author

OK - all major issues resolved. Some tests are less than perfect as it is crazily expensive to test randomized visual content and the low-level interactions with the OS terminal/console. Nonetheless most lines are now basically covered, so crass regressions should be caught (and genuine failures of purely visual content will be easily spotted by eye). Now closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant