Lenard has gone ahead and patched everything with SDL2 defines where needed, and set the config up with an -SDL2 flag. A lot of it works already with SDL2.
Some thoughts on a test plan.
I've been setting up some linux machines for testing and development today. An old Dell laptop(with Ubuntu 16.04), some raspberry pis(Raspbian), and some virtual machines(Fedora, ...). I'll go through a 'smoke test' a bunch of different apps and pygame examples next. It's looking pretty good so far.
1) known outstanding issues list.
2) functions with ifdef SDL2 list.
3) manual run through of apps on linux
4) review, and document each SDL2 touched file, one by one.
5) Mac, windows builds.
1) known outstanding issues list.
If we make the warnings in the code readable, we can mark it with this.
grep "#warning" src/*
#warning "convert_alpha not implemented."
2) functions with ifdef SDL2 list.
Make a list of functions different in SDL2. (Ones which have #ifndef SDL2),
this will help us manually test things. Because I guess these places
are more likely to have issues.
There's approximately 22 files with SDL2 in there.
3) manual run through of apps on linux
Take pygame.example apps, and a few different apps we know well (solarwolf, zanthor, an OpenGL one etc).
Make three virtualenvs with pygame 1.9.3, pygame+SDL1, pygame+SDL2.
Display apps side by side, try inputs, try music/sound.
4) review, and document each SDL2 touched file, one by one.
For each file or module, we can make a post to the mailing list, and describe what it does.
The purpose of doing this is to get more eyes looking at it. Also it will be a chance for us to document it well, and see if our explanations are understandable.
----
* A link to the file in github.
* What the module does.
* What the SDL2 changes are.