There are a number of places in the code where you're using e.g. glVextex2i instead of glVertex2d when you are passing a float (double) value in, PyOpenGL 3.x wil reject that. In other areas you're doing a glBegin without having a finally for the glEnd, this will tend to produce errors that apparently PyOpenGL 2.x was ignoring, but PyOpenGL 3.x checks for errors by default.
Attached patch allows the bulk of the tests to work on a Linux machine (with a hack to fix the fonts that are Win32-only).
Patch is against CVS as of today.
Patch to provide PyOpenGL 3.x compatibility