#! /usr/bin/env perl use strict; use warnings; use Try::Tiny; use Test::More; use_ok( 'OpenGL::Sandbox' ) or BAIL_OUT; ok( eval { OpenGL::Sandbox->import('make_context') ; 1 } && main->can('make_context'), 'import local symbol' ); ok( eval { OpenGL::Sandbox->import('GL_TRUE') ; 1 } && main->can('GL_TRUE') && GL_TRUE(), 'import GL constant' ); ok( eval { OpenGL::Sandbox->import('glBindTexture'); 1 } && main->can('glBindTexture'),'import GL function' ); SKIP: { skip "GLX not available", 1 unless eval { require X11::GLX::DWIM; }; ok( eval { require OpenGL::Sandbox::ContextShim::GLX; 1 }, 'Load context shim GLX' ) or diag $@; } SKIP: { skip "SDL not available", 1 unless eval { require SDLx::App; }; ok( eval { require OpenGL::Sandbox::ContextShim::SDL; 1 }, 'Load context shim SDL' ) or diag $@; } SKIP: { skip "GLFW not available", 1 unless eval { require OpenGL::GLFW; }; ok( eval { require OpenGL::Sandbox::ContextShim::GLFW; 1 }, 'Load context shim GLFW' ) or diag $@; } SKIP: { skip "GLUT not available", 1 unless eval { require OpenGL; }; ok( eval { require OpenGL::Sandbox::ContextShim::GLUT; 1 }, 'Load context shim GLUT' ) or diag $@; } done_testing;