Oops, sorry I just realized that the commit message was wrong: "main" should be "arb_direct_state_access" instead.
On Thu, Mar 5, 2015 at 12:49 AM, Martin Peres <martin.pe...@linux.intel.com> wrote: > On 05/03/15 03:48, Ilia Mirkin wrote: > >> On Wed, Mar 4, 2015 at 8:38 PM, Laura Ekstrand <la...@jlekstrand.net> >> wrote: >> >>> --- >>> tests/all.py | 1 + >>> .../spec/arb_direct_state_access/CMakeLists.gl.txt | 1 + >>> .../spec/arb_direct_state_access/create-buffers.c | 78 >>> ++++++++++++++++++++++ >>> 3 files changed, 80 insertions(+) >>> create mode 100644 tests/spec/arb_direct_state_access/create-buffers.c >>> >>> diff --git a/tests/all.py b/tests/all.py >>> index 0f07105..e60a02c 100644 >>> --- a/tests/all.py >>> +++ b/tests/all.py >>> @@ -4006,6 +4006,7 @@ >>> spec['ARB_direct_state_access']['compressedtexturesubimage'] >>> = PiglitGLTest(['ar >>> spec['ARB_direct_state_access']['texture-storage-multisample'] = >>> PiglitGLTest(['arb_direct_state_access-texture-storage-multisample'], >>> run_concurrent=True) >>> spec['ARB_direct_state_access']['texture-buffer'] = >>> PiglitGLTest(['arb_direct_state_access-texture-buffer'], >>> run_concurrent=True) >>> spec['ARB_direct_state_access']['texture-buffer-range'] = >>> PiglitGLTest(['arb_direct_state_access-texture-buffer-range'], >>> run_concurrent=True) >>> +spec['ARB_direct_state_access']['create-buffers'] = >>> PiglitGLTest(['arb_direct_state_access-create-buffers'], >>> run_concurrent=True) >>> spec['ARB_direct_state_access']['namedbufferstorage-persistent'] = >>> PiglitGLTest(['arb_direct_state_access-namedbufferstorage-persistent'], >>> run_concurrent=True) >>> spec['ARB_direct_state_access']['namedbuffersubdata-vbo-sync'] = >>> PiglitGLTest(['arb_direct_state_access-namedbuffersubdata-vbo-sync'], >>> run_concurrent=True) >>> >>> spec['ARB_direct_state_access']['clearnamedbufferdata-invalid-internal-format'] >>> = >>> PiglitGLTest(['arb_direct_state_access-clearnamedbufferdata-invalid-internal-format'], >>> run_concurrent=True) >>> diff --git a/tests/spec/arb_direct_state_access/CMakeLists.gl.txt >>> b/tests/spec/arb_direct_state_access/CMakeLists.gl.txt >>> index b2b7465..2a4915d 100644 >>> --- a/tests/spec/arb_direct_state_access/CMakeLists.gl.txt >>> +++ b/tests/spec/arb_direct_state_access/CMakeLists.gl.txt >>> @@ -10,6 +10,7 @@ link_libraries ( >>> ) >>> >>> piglit_add_executable (arb_direct_state_access-create-transformfeedbacks >>> create-transformfeedbacks.c) >>> +piglit_add_executable (arb_direct_state_access-create-buffers >>> create-buffers.c) >>> piglit_add_executable >>> (arb_direct_state_access-namedbufferstorage-persistent >>> namedbufferstorage.c) >>> piglit_add_executable (arb_direct_state_access-namedbuffersubdata-vbo-sync >>> namedbuffersubdata-vbo-sync.c) >>> piglit_add_executable (arb_direct_state_access- >>> clearnamedbufferdata-invalid-internal-format >>> clearnamedbufferdata-invalid-internal-format.c) >>> diff --git a/tests/spec/arb_direct_state_access/create-buffers.c >>> b/tests/spec/arb_direct_state_access/create-buffers.c >>> new file mode 100644 >>> index 0000000..12fcf0b >>> --- /dev/null >>> +++ b/tests/spec/arb_direct_state_access/create-buffers.c >>> @@ -0,0 +1,78 @@ >>> +/* >>> + * Copyright 2014 Intel Corporation >>> + * >>> + * Permission is hereby granted, free of charge, to any person >>> obtaining a >>> + * copy of this software and associated documentation files (the >>> "Software"), >>> + * to deal in the Software without restriction, including without >>> limitation >>> + * the rights to use, copy, modify, merge, publish, distribute, >>> sublicense, >>> + * and/or sell copies of the Software, and to permit persons to whom the >>> + * Software is furnished to do so, subject to the following conditions: >>> + * >>> + * The above copyright notice and this permission notice (including the >>> next >>> + * paragraph) shall be included in all copies or substantial portions >>> of the >>> + * Software. >>> + * >>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, >>> EXPRESS OR >>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF >>> MERCHANTABILITY, >>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT >>> SHALL >>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR >>> OTHER >>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, >>> ARISING >>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER >>> + * DEALINGS IN THE SOFTWARE. >>> + */ >>> + >>> +/** @file create_buffers.c >>> + * >>> + * Tests glCreateBuffers to see if it behaves in the expected way, >>> + * throwing the correct errors, etc. >>> + */ >>> + >>> +#include "piglit-util-gl.h" >>> + >>> +PIGLIT_GL_TEST_CONFIG_BEGIN >>> + >>> + config.supports_gl_compat_version = 32; >>> >> This will never run on mesa, right? I assume you meant >> >> supports_gl_core_version = 31 (or 32?) >> > > Why 32? 31 should be enough and that is also what I used on all my tests. > > > + >>> + config.window_visual = PIGLIT_GL_VISUAL_RGBA | >>> + PIGLIT_GL_VISUAL_DOUBLE; >>> + >>> +PIGLIT_GL_TEST_CONFIG_END >>> + >>> +void >>> +piglit_init(int argc, char **argv) >>> +{ >>> + piglit_require_extension("GL_ARB_direct_state_access"); >>> +} >>> + >>> +enum piglit_result >>> +piglit_display(void) >>> +{ >>> + bool pass = true; >>> + GLuint name; >>> + GLboolean ret; >>> + >>> + /* Throw some invalid inputs at glCreateBuffers. */ >>> + >>> + /* n is negative */ >>> + glCreateBuffers(-1, &name); >>> + pass = piglit_check_gl_error(GL_INVALID_VALUE) && pass; >>> + >>> + /* name is not a valid pointer */ >>> + glCreateBuffers(1, 0); >>> + pass = piglit_check_gl_error(GL_NO_ERROR) && pass; >>> + glCreateBuffers(1, NULL); >>> + pass = piglit_check_gl_error(GL_NO_ERROR) && pass; >>> >> > Good idea to tests this! No need to test for both 0 and NULL though. > >> + >>> + >>> + /* Check if it actually generates a real buffer object */ >>> + >>> + glCreateBuffers(1, &name); >>> + pass = piglit_check_gl_error(GL_NO_ERROR) && pass; >>> + >>> + ret = glIsBuffer(name); >>> + pass = (ret == GL_TRUE) && pass; >>> + pass = piglit_check_gl_error(GL_NO_ERROR) && pass; >>> + >>> + return pass ? PIGLIT_PASS : PIGLIT_FAIL; >>> +} >>> + >>> -- >>> 2.1.0 >>> >> > I would really like to have multiple subtests here to show what we really > test and not to have to open the test c file to know what went wrong. > > Could you use the SUBTEST macros and give the same name to the tests that > I had in all my create-* tests? [0] > > Don't forget to delete the buffer at the end. Not that it should matter > but some people apparently run valgrind / coverty on piglit and they find > this kind of "bugs". > > Thanks! > > [0] http://cgit.freedesktop.org/piglit/commit/?id= > 0c8acebafefbe5cb400c055d9880788f22339ce3 >
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit