-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
As you may know, I’m doing the GSoC project of creating an automatic
test suite to find and detect regressions in SDL automatically 1. This
will be a benefit in the future as regressions and bugs will be easier
and faster to detect.
As you may know I’ve had final exams until this Monday (included), which
have prevented me from coding as much as I would have liked to. That
however is now over so I can code freely until the completion of the
project.
Some information of the design, after looking at the libraries that
Pierre Phaneuf suggested 2, I’ve decided to write up a very simple one
similar to CuTest 3. I’ve called the simple testsuite maker SDL_AT for
SDL Autoomatic Testing, it currently consists of a few functions and
basically divides tests into what I call suites and cases. You create
multiple testsuites each with multiple testcases and it’ll report what
goes wrong/right. Currently it’s very simple, but if needed it can be
easily expanded to write success/fails into a database or create output
already formatted for posting to the bug tracker 4.
The code is currently located in my branch 5 specifically in
SDL/test/automated 6. It contains only a few tests for:
- RWops
- Surface - Only primitives and blending primitves at the moment.
Things on rendering tests. As per Sam’s indication, I am considering
that all implementations are going to draw exactly the same pixel per
pixel and am testing against prerendered images considering that the
current Linux implementation does indeed work well (please inform me if
it doesn’t). To avoid possible disturbances caused by loading external
files, the images are stored in C structs so the values can be accessed
directly with no need of parsing nor loading.
Following systems I will add (most likely in this order):
- Surface - Finish blitting and others.
- Rect - Collision testing.
- Pixel Formatting - Conversions and the like.
- Video - Rendering tests (not sure if it makes sense since it’s most
likely OpenGL and OpenGL isn’t pixel perfect)
The problem which was mentioned before is that there’s a lot of stuff
I’d like to be able to write test suites for, but I’m not entirely sure
if it’s possible to do without writing platform specific tests and sort
of duplicated the code in SDL for that platform. An example would be the
entire event system (would need user interaction most likely). I’m not
really sure what the best way to approach this would be.
Edgar
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkpMcnoACgkQolm4VNX3QTyURgCfefaeGBGVCprrLFwCl1DfZc54
Hq4An0Qo5jVi8cINq9q4snApuAEnEfly
=2DzO
-----END PGP SIGNATURE-----