[ocl-icd] 02/06: Imported Upstream version 2.2.6

Vincent Danjean vdanjean at debian.org
Mon Jun 8 23:27:55 UTC 2015


This is an automated email from the git hooks/post-receive script.

vdanjean pushed a commit to branch master
in repository ocl-icd.

commit 316c885c47af04be48dfc06ed2d6dc2ef41ed84f
Author: Vincent Danjean <Vincent.Danjean at ens-lyon.org>
Date:   Mon Jun 8 20:35:46 2015 +0200

    Imported Upstream version 2.2.6
---
 Makefile.am                         |    8 +
 Makefile.in                         |   31 +-
 NEWS                                |    9 +
 configure                           |   20 +-
 configure.ac                        |    2 +-
 doc/libOpenCL.7.txt                 |   14 +
 icd_generator.rb                    |   48 +-
 libdummy_icd.c                      |   16 +-
 ocl_icd_loader.c                    |   43 +-
 tests/package.m4                    |    4 +-
 tests/testsuite                     | 1280 ++++++++++++++++++++++++++++++-----
 tests/testsuite-default-platform.at |  140 +++-
 tests/testsuite-standard.at         |    6 +-
 13 files changed, 1390 insertions(+), 231 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index e497438..845e89d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -114,6 +114,8 @@ nodist_run_dummy_icd_through_our_ICDL_SOURCES = \
 run_dummy_icd_through_our_ICDL_CFLAGS= $(NO_DEPRECATED_DECLARATIONS_FLAGS) $(AM_CFLAGS)
 # we want to link to our implementation here
 run_dummy_icd_through_our_ICDL_LDADD = libOpenCL.la
+#
+run_dummy_icd_through_our_ICDL_CPPFLAGS = $(AM_CPPFLAGS) -DOCL_ICD_PRINT_EXPECTED
 
 ##################################################################
 # rules to update the database from an already installed ICD Loader
@@ -133,6 +135,12 @@ run_dummy_icd_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o
 # run the test program and update the database
 run_dummy_icd_output.yaml: run_dummy_icd install_test_lib libdummycl.la
 	"$$(dirname $<)/$$(basename $<)" > $@
+	@if grep -v -E '^(---|([0-9]* *: .*))$$' $@ ; then \
+		echo "Invalid $@ file, trying to fix it" ; \
+		grep -E '^(---|([0-9]* *: .*))$$' $@ > $@.fix ;\
+		mv $@.fix $@ ;\
+	fi
+
 CLEANFILES += run_dummy_output.yaml
 .PHONY: update-database
 update-database: icd_generator.rb run_dummy_icd_output.yaml
diff --git a/Makefile.in b/Makefile.in
index 6fc00a4..9694421 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -541,6 +541,8 @@ nodist_run_dummy_icd_through_our_ICDL_SOURCES = \
 run_dummy_icd_through_our_ICDL_CFLAGS = $(NO_DEPRECATED_DECLARATIONS_FLAGS) $(AM_CFLAGS)
 # we want to link to our implementation here
 run_dummy_icd_through_our_ICDL_LDADD = libOpenCL.la
+#
+run_dummy_icd_through_our_ICDL_CPPFLAGS = $(AM_CPPFLAGS) -DOCL_ICD_PRINT_EXPECTED
 @UPDATE_DATABASE_TRUE at run_dummy_icd_SOURCES = \
 @UPDATE_DATABASE_TRUE@	$(run_dummy_icd_through_our_ICDL_SOURCES)
 
@@ -857,46 +859,46 @@ run_dummy_icd-run_dummy_icd_weak_gen.obj: run_dummy_icd_weak_gen.c
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_CFLAGS) $(CFLAGS) -c -o run_dummy_icd-run_dummy_icd_weak_gen.obj `if test -f 'run_dummy_icd_weak_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_weak_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_weak_gen.c'; fi`
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd.o: run_dummy_icd.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.o `test -f 'run_dummy_icd.c' || echo '$(srcdir)/'`run_dummy_icd.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.o `test -f 'run_dummy_icd.c' || echo '$(srcdir)/'`run_dummy_icd.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.o `test -f 'run_dummy_icd.c' || echo '$(srcdir)/'`run_dummy_icd.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.o `test -f 'run_dummy_icd.c' || echo '$(srcdir)/'`run_dummy_icd.c
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd.obj: run_dummy_icd.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.obj `if test -f 'run_dummy_icd.c'; then $(CYGPATH_W) 'run_dummy_icd.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.obj `if test -f 'run_dummy_icd.c'; then $(CYGPATH_W) 'run_dummy_icd.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd.c'; fi`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.obj `if test -f 'run_dummy_icd.c'; then $(CYGPATH_W) 'run_dummy_icd.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd.obj `if test -f 'run_dummy_icd.c'; then $(CYGPATH_W) 'run_dummy_icd.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd.c'; fi`
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o: run_dummy_icd_gen.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o `test -f 'run_dummy_icd_gen.c' || echo '$(srcdir)/'`run_dummy_icd_gen.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o `test -f 'run_dummy_icd_gen.c' || echo '$(srcdir)/'`run_dummy_icd_gen.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd_gen.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o `test -f 'run_dummy_icd_gen.c' || echo '$(srcdir)/'`run_dummy_icd_gen.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.o `test -f 'run_dummy_icd_gen.c' || echo '$(srcdir)/'`run_dummy_icd_gen.c
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj: run_dummy_icd_gen.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj `if test -f 'run_dummy_icd_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_gen.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj `if test -f 'run_dummy_icd_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd [...]
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd_gen.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj `if test -f 'run_dummy_icd_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_gen.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_gen.obj `if test -f 'run_dummy_icd_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_gen.c'; fi`
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o: run_dummy_icd_weak_gen.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o `test -f 'run_dummy_icd_weak_gen.c' || echo '$(srcdir)/'`run_dummy_icd_weak_gen.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o `test -f 'run_dummy_icd_weak_gen.c' || echo '$(srcdir)/'`run_dummy_icd_weak_gen.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd_weak_gen.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o `test -f 'run_dummy_icd_weak_gen.c' || echo '$(srcdir)/'`run_dummy_icd_weak_gen.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.o `test -f 'run_dummy_icd_weak_gen.c' || echo '$(srcdir)/'`run_dummy_icd_weak_gen.c
 
 run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj: run_dummy_icd_weak_gen.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj `if test -f 'run_dummy_icd_weak_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_weak_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_we [...]
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -MT run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj -MD -MP -MF $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj `if test -f 'run_dummy_icd_weak_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_weak_gen.c'; else $(CYGPATH_W) [...]
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Tpo $(DEPDIR)/run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='run_dummy_icd_weak_gen.c' object='run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj `if test -f 'run_dummy_icd_weak_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_weak_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_weak_gen.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_dummy_icd_through_our_ICDL_CPPFLAGS) $(CPPFLAGS) $(run_dummy_icd_through_our_ICDL_CFLAGS) $(CFLAGS) -c -o run_dummy_icd_through_our_ICDL-run_dummy_icd_weak_gen.obj `if test -f 'run_dummy_icd_weak_gen.c'; then $(CYGPATH_W) 'run_dummy_icd_weak_gen.c'; else $(CYGPATH_W) '$(srcdir)/run_dummy_icd_weak_gen.c'; fi`
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1455,6 +1457,11 @@ install-exec-hook::
 # run the test program and update the database
 @UPDATE_DATABASE_TRUE at run_dummy_icd_output.yaml: run_dummy_icd install_test_lib libdummycl.la
 @UPDATE_DATABASE_TRUE@	"$$(dirname $<)/$$(basename $<)" > $@
+ at UPDATE_DATABASE_TRUE@	@if grep -v -E '^(---|([0-9]* *: .*))$$' $@ ; then \
+ at UPDATE_DATABASE_TRUE@		echo "Invalid $@ file, trying to fix it" ; \
+ at UPDATE_DATABASE_TRUE@		grep -E '^(---|([0-9]* *: .*))$$' $@ > $@.fix ;\
+ at UPDATE_DATABASE_TRUE@		mv $@.fix $@ ;\
+ at UPDATE_DATABASE_TRUE@	fi
 @UPDATE_DATABASE_TRUE at .PHONY: update-database
 @UPDATE_DATABASE_TRUE at update-database: icd_generator.rb run_dummy_icd_output.yaml
 @UPDATE_DATABASE_TRUE@	$(RUBY) $< --mode update-database \
diff --git a/NEWS b/NEWS
index bca7b71..3872a5b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,13 @@
 
+Version 2.2.6
+=============
+
+Vincent Danjean (4):
+      Fix and improve testsuite
+      allows to avoid the platform sort and extends the testsuite
+      Improve documentation (OCL_ICD_PLATFORM_SORT and OCL_ICD_DEFAULT_PLATFORM)
+      Release 2.2.6
+
 Version 2.2.5
 =============
 
diff --git a/configure b/configure
index b3b2f78..9eb6647 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for OpenCL ICD Loader 2.2.5.
+# Generated by GNU Autoconf 2.69 for OpenCL ICD Loader 2.2.6.
 #
 # Report bugs to <ocl-icd-devel at lists.forge.imag.fr>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='OpenCL ICD Loader'
 PACKAGE_TARNAME='ocl-icd'
-PACKAGE_VERSION='2.2.5'
-PACKAGE_STRING='OpenCL ICD Loader 2.2.5'
+PACKAGE_VERSION='2.2.6'
+PACKAGE_STRING='OpenCL ICD Loader 2.2.6'
 PACKAGE_BUGREPORT='ocl-icd-devel at lists.forge.imag.fr'
 PACKAGE_URL=''
 
@@ -1330,7 +1330,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures OpenCL ICD Loader 2.2.5 to adapt to many kinds of systems.
+\`configure' configures OpenCL ICD Loader 2.2.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1400,7 +1400,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of OpenCL ICD Loader 2.2.5:";;
+     short | recursive ) echo "Configuration of OpenCL ICD Loader 2.2.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1517,7 +1517,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-OpenCL ICD Loader configure 2.2.5
+OpenCL ICD Loader configure 2.2.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1940,7 +1940,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by OpenCL ICD Loader $as_me 2.2.5, which was
+It was created by OpenCL ICD Loader $as_me 2.2.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2807,7 +2807,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ocl-icd'
- VERSION='2.2.5'
+ VERSION='2.2.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13553,7 +13553,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by OpenCL ICD Loader $as_me 2.2.5, which was
+This file was extended by OpenCL ICD Loader $as_me 2.2.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13619,7 +13619,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-OpenCL ICD Loader config.status 2.2.5
+OpenCL ICD Loader config.status 2.2.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 2288071..6bd1e27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.67])
-AC_INIT([OpenCL ICD Loader], [2.2.5], [ocl-icd-devel at lists.forge.imag.fr], [ocl-icd])
+AC_INIT([OpenCL ICD Loader], [2.2.6], [ocl-icd-devel at lists.forge.imag.fr], [ocl-icd])
 AC_CONFIG_SRCDIR([ocl_icd_loader.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
diff --git a/doc/libOpenCL.7.txt b/doc/libOpenCL.7.txt
index bf6a047..b07fcd3 100644
--- a/doc/libOpenCL.7.txt
+++ b/doc/libOpenCL.7.txt
@@ -55,6 +55,20 @@ c. else libOpenCL.so will try to load *$OCL_ICD_VENDORS* as the ICD shared
   this environment variable if you are using the Intel ICD together with
   *optirun*(1). Else, a bug into the Intel ICD will make the application crash.
 
+*OCL_ICD_PLATFORM_SORT*::
+  Allows to choose the way platforms are sorted when presented to programs
+  through **clGetPlatformIDs**(3). Current provided algorithms are:
+
+* *devices*: first, list platforms that support most GPU, then most CPU then
+  most accelerators. If *OCL_ICD_PLATFORM_SORT* is not set or set to an
+  unknown value, this algorithm is used.
+* *none*: no sort is done and the order can very at each run.
+
+*OCL_ICD_DEFAULT_PLATFORM*::
+  Number of the platform to choose as defaut platform. Note that using this
+  environment variable without specifying a sort algorithm for platforms
+  is not really useful.
+
 *OCL_ICD_DEBUG*::
 +
 --
diff --git a/icd_generator.rb b/icd_generator.rb
index 3c3f0a8..28faceb 100644
--- a/icd_generator.rb
+++ b/icd_generator.rb
@@ -28,14 +28,17 @@ require 'yaml'
 
 module IcdGenerator
   $api_entries = {}
+  $key_entries = {}
   $api_entries_array = []
   $cl_objects = ["platform_id", "device_id", "context", "command_queue", "mem", "program", "kernel", "event", "sampler"]
   $know_entries = { 1 => "clGetPlatformInfo", 0 => "clGetPlatformIDs", 2 => "clGetDeviceIDs" }
   $use_name_in_test = { 1 => "clGetPlatformInfo", 0 => "clGetPlatformIDs", 2 => "clGetDeviceIDs" }
   # do not call these functions when trying to discover the mapping
-  $forbidden_funcs = ["clGetExtensionFunctionAddress", "clGetPlatformIDs",
-    "clGetPlatformInfo", "clGetGLContextInfoKHR", "clUnloadCompiler",
-    "clSetCommandQueueProperty", "clGetDeviceIDs"]
+  $forbidden_funcs = [
+    "clUnloadCompiler", # No parameters so no way to forward to an ICD, OpenCL 1.0
+    "clGetPlatformIDs", # Implemented directly within the ICD Loader, not forwarded to ICD
+  ]
+  # windows function to ignore when loading the database
   $windows_funcs = ["clGetDeviceIDsFromD3D10KHR", "clCreateFromD3D10BufferKHR",
     "clCreateFromD3D10Texture2DKHR", "clCreateFromD3D10Texture3DKHR",
     "clEnqueueAcquireD3D10ObjectsKHR", "clEnqueueReleaseD3D10ObjectsKHR",
@@ -141,6 +144,7 @@ EOF
       version = value.match(/SUFFIX__VERSION_(\d_\d)/m)[1]
       $versions_entries[version].push(entry_name)
       $known_entries[key] = entry_name
+      $key_entries[entry_name] = key
       $api_entries[entry_name] = value
     }
     $api_entries_array = []
@@ -228,9 +232,12 @@ EOF
     run_dummy_icd += self.include_headers
     run_dummy_icd += "#pragma GCC diagnostic pop\n"
     run_dummy_icd += "\n\n"
-    run_dummy_icd += "typedef CL_API_ENTRY cl_int (CL_API_CALL* oclFuncPtr_fn)(cl_platform_id platform);\n\n"
+    $api_entries.each_key { |func_name|
+       next if $forbidden_funcs.include?(func_name)
+       run_dummy_icd += $api_entries[func_name]+";\n"
+    }
+    run_dummy_icd += "\n\n"
     run_dummy_icd += "void call_all_OpenCL_functions(cl_platform_id chosen_platform) {\n"
-    run_dummy_icd += "  oclFuncPtr_fn oclFuncPtr;\n"
     run_dummy_icd += "  cl_context_properties properties[] = { CL_CONTEXT_PLATFORM, (cl_context_properties)chosen_platform, 0 };\n"
     $api_entries.each_key { |func_name|
        next if $forbidden_funcs.include?(func_name)
@@ -242,15 +249,32 @@ EOF
          run_dummy_icd += "  #{func_name}(properties,CL_DEVICE_TYPE_CPU,NULL,NULL,NULL);\n"
        elsif func_name == "clWaitForEvents" then
          run_dummy_icd += "  #{func_name}(1,(cl_event*)&chosen_platform);\n"
-       elsif func_name == "clGetExtensionFunctionAddressForPlatform" then
-         run_dummy_icd += "  #{func_name}((cl_platform_id)chosen_platform, \"clIcdGetPlatformIDsKHR\");\n"
-       elsif func_name == "clGetDeviceIDs" then
-         run_dummy_icd += "  #{func_name}((cl_platform_id)chosen_platform,0,0,NULL,NULL);\n"
+       elsif func_name == "clGetExtensionFunctionAddress" then
+         run_dummy_icd += "  #{func_name}(\"extLIG\");\n"
+       elsif func_name == "clUnloadCompiler" then
+         run_dummy_icd += "  #{func_name}();\n"
        else
-         run_dummy_icd += "  oclFuncPtr = (oclFuncPtr_fn)" + func_name + ";\n"
-         run_dummy_icd += "  oclFuncPtr(chosen_platform);\n"
+         params = $api_entries[func_name].gsub(/[[:space:]]+/, ' ')
+         params.gsub!(/[\/][*](([^*]*)[*][^\/])*[^*]*[*][\/]/,'')
+         params.gsub!(/^[^(]*[(] *(.*[^ ]) *[)][^)]*$/, '\1')
+         params = params.gsub(/[^,(]+([(][^)]*[)])*[^,]*/) { |p|
+           p.gsub!("[]", "*")
+           p.gsub!("user_func", "")
+           if false && p.match(/[*]/) then
+             "NULL"
+           else
+             "(#{p})0"
+           end
+         }
+         if func_name != "clGetPlatformIDs" then
+           params.gsub!(/^([^0]*)0/, '\1chosen_platform')
+         end
+         run_dummy_icd += "  #{func_name}(#{params});\n"
        end
-       run_dummy_icd += "  printf(\"%s\\n\", \"#{func_name}\");"
+       run_dummy_icd += "  printf(\"%s\\n\", \"#{func_name}\");\n"
+       run_dummy_icd += "#ifdef OCL_ICD_PRINT_EXPECTED\n"
+       run_dummy_icd += "  printf(\"#{$key_entries[func_name]}  : %s (expected)\\n\", \"#{func_name}\");\n"
+       run_dummy_icd += "#endif\n"
        run_dummy_icd += "  fflush(NULL);\n"
     }
     run_dummy_icd += "  return;\n}\n"
diff --git a/libdummy_icd.c b/libdummy_icd.c
index 1ee3a91..b470f1b 100644
--- a/libdummy_icd.c
+++ b/libdummy_icd.c
@@ -97,6 +97,9 @@ CL_API_ENTRY void * CL_API_CALL INTclGetExtensionFunctionAddress(
   debug(D_LOG, "request address for %s", func_name);
   if( func_name != NULL &&  strcmp("clIcdGetPlatformIDsKHR", func_name) == 0 )
     return (void *)_GetPlatformIDs;
+  if (func_name != NULL && strcmp("extLIG", func_name) == 0) {
+    printf("65  : ");
+  }
   return NULL;
 }
 SYMB(clGetExtensionFunctionAddress);
@@ -115,6 +118,10 @@ CL_API_ENTRY cl_int CL_API_CALL INTclGetPlatformInfo(
   debug_trace();
   debug(D_LOG, "request info for 0x%x", param_name);
 
+  if (param_name==0 && param_value_size==0 
+      && param_value==NULL && param_value_size_ret==NULL) {
+    printf("1  : ");
+  }
   char cl_platform_profile[] = "FULL_PROFILE";
   char cl_platform_version[] = "OpenCL 1.2";
   char cl_platform_name[] = "DummyCL" ICD_SUFFIX;
@@ -195,17 +202,20 @@ INTclGetDeviceIDs(cl_platform_id   pid /* platform */,
                   cl_device_id *   devid /* devices */,
                   cl_uint *        res /* num_devices */) CL_API_SUFFIX__VERSION_1_0
 {
+	if (ctype==0 && num==0 && devid==NULL && res==NULL) {
+		printf("2  : ");
+	}
 	char* ENVNAME=NULL;
 	if (res == NULL) { return CL_SUCCESS; }
 	switch (ctype) {
 	case CL_DEVICE_TYPE_GPU:
-		ENVNAME="NB_GPU";
+		ENVNAME="NB_GPU" ICD_SUFFIX;
 		break;
 	case CL_DEVICE_TYPE_CPU:
-		ENVNAME="NB_CPU";
+		ENVNAME="NB_CPU" ICD_SUFFIX;
 		break;
 	case CL_DEVICE_TYPE_ALL:
-		ENVNAME="NB_ALL";
+		ENVNAME="NB_ALL" ICD_SUFFIX;
 		break;
 	}
 	if (ENVNAME==NULL) {
diff --git a/ocl_icd_loader.c b/ocl_icd_loader.c
index 9628ace..5b3a83a 100644
--- a/ocl_icd_loader.c
+++ b/ocl_icd_loader.c
@@ -270,7 +270,7 @@ static void* _get_function_addr(void* dlh, clGetExtensionFunctionAddress_fn fn,
     }
 #ifdef DEBUG_OCL_ICD
     if (addr1 && addr2 && addr1!=addr2) {
-      debug(D_WARN, "Function and symbol '%s' have different addresses!", name);
+      debug(D_WARN, "Function and symbol '%s' have different addresses (%p != %p)!", name, addr2, addr1);
     }
 #endif
   }
@@ -363,8 +363,25 @@ static int _cmp_platforms(const void *_a, const void *_b) {
 }
 
 static void _sort_platforms(struct platform_icd *picds, int npicds) {
-	qsort(picds, npicds, sizeof(*picds),
-		&_cmp_platforms);
+	debug(D_WARN, "Nb platefroms: %i", npicds);
+	if (npicds > 1) {
+		char* ocl_sort=getenv("OCL_ICD_PLATFORM_SORT");
+		if (ocl_sort!=NULL && !strcmp(ocl_sort, "none")) {
+			debug(D_LOG, "Platform not sorted");
+		} else {
+			if (ocl_sort!=NULL && strcmp(ocl_sort, "devices")) {
+				debug(D_WARN, "Unknown platform sort algorithm requested: %s", ocl_sort);
+				debug(D_WARN, "Switching do the 'devices' algorithm");
+			}
+			int i;
+			debug(D_LOG, "Platform sorted by GPU, CPU, DEV");
+			for (i=0; i<npicds; i++) {
+				_count_devices(&picds[i]);
+			}
+			qsort(picds, npicds, sizeof(*picds),
+			      &_cmp_platforms);
+		}
+	}
 }
 
 static inline void _find_and_check_platforms(cl_uint num_icds) {
@@ -473,7 +490,6 @@ static inline void _find_and_check_platforms(cl_uint num_icds) {
 	free(param_value);
       }
 #endif
-      _count_devices(p);
       num_valid_platforms++;
       _num_picds++;
     }
@@ -644,7 +660,7 @@ getDefaultPlatformID() {
       if(_num_picds == 0) {
 	break;
       }
-      const char *default_platform = getenv("OPENCL_ICD_DEFAULT_PLATFORM");
+      const char *default_platform = getenv("OCL_ICD_DEFAULT_PLATFORM");
       int num_default_platform;
       char *end_scan;
       if (! default_platform) {
@@ -871,21 +887,8 @@ clCreateContextFromType(const cl_context_properties *  properties ,
       i += 2;
     }
   } else {
-    const char *default_platform = getenv("OPENCL_ICD_DEFAULT_PLATFORM");
-    int num_default_platform;
-    char *end_scan;
-    if (! default_platform) {
-      num_default_platform = 0;
-    } else {
-      num_default_platform = strtol(default_platform, &end_scan, 10);
-      if (*default_platform == '\0' || *end_scan != '\0') {
-	goto out;
-      }
-    }
-    if (num_default_platform < 0 || num_default_platform >= _num_picds) {
-      goto out;
-    }
-    RETURN(_picds[num_default_platform].pid->dispatch->clCreateContextFromType
+    cl_platform_id default_platform=getDefaultPlatformID();
+    RETURN(default_platform->dispatch->clCreateContextFromType
 	(properties, device_type, pfn_notify, user_data, errcode_ret));
   }
  out:
diff --git a/tests/package.m4 b/tests/package.m4
index aa94e7c..286b312 100644
--- a/tests/package.m4
+++ b/tests/package.m4
@@ -4,9 +4,9 @@ m4_define([AT_PACKAGE_NAME],
 m4_define([AT_PACKAGE_TARNAME],
   [ocl-icd])
 m4_define([AT_PACKAGE_VERSION],
-  [2.2.5])
+  [2.2.6])
 m4_define([AT_PACKAGE_STRING],
-  [OpenCL ICD Loader 2.2.5])
+  [OpenCL ICD Loader 2.2.6])
 m4_define([AT_PACKAGE_BUGREPORT],
   [ocl-icd-devel at lists.forge.imag.fr])
 m4_define([AT_PACKAGE_URL],
diff --git a/tests/testsuite b/tests/testsuite
index beb3eaa..b5fca58 100755
--- a/tests/testsuite
+++ b/tests/testsuite
@@ -595,7 +595,7 @@ at_help_all="1;testsuite-standard.at:3;invalid OCL_ICD_VENDORS;;
 3;testsuite-standard.at:21;OCL_ICD_VENDORS as library file;;
 4;testsuite-standard.at:29;OCL_ICD_VENDORS as ICD file (.icd);;
 5;testsuite-standard.at:37;Our dummy ICD through our ICD loader;;
-6;testsuite-standard.at:44;ICD Loader extension;;
+6;testsuite-standard.at:48;ICD Loader extension;;
 7;testsuite-default-platform.at:3;No choice, among 0 => CL_INVALID_PLATFORM;;
 8;testsuite-default-platform.at:15;Choice 0, among 0 => CL_INVALID_PLATFORM;;
 9;testsuite-default-platform.at:26;Choice 1, among 0 => CL_INVALID_PLATFORM;;
@@ -606,9 +606,15 @@ at_help_all="1;testsuite-standard.at:3;invalid OCL_ICD_VENDORS;;
 14;testsuite-default-platform.at:90;Choice 0, among 2 => first platform;;
 15;testsuite-default-platform.at:101;Choice 1, among 2 => second platform;;
 16;testsuite-default-platform.at:112;Choice 2, among 2 => CL_INVALID_PLATFORM;;
-17;testsuite-workaround.at:4;OCL_ICD_VENDORS as directory, two ICD;;
-18;testsuite-workaround.at:17;OCL_ICD_VENDORS as file, buggy ICD with workaround;;
-19;testsuite-workaround.at:27;OCL_ICD_VENDORS as file, buggy ICD without workaround;;
+17;testsuite-default-platform.at:127;Sort by GPU;;
+18;testsuite-default-platform.at:147;Sort by GPU (rev);;
+19;testsuite-default-platform.at:167;Sort by CPU;;
+20;testsuite-default-platform.at:187;Sort by CPU (rev);;
+21;testsuite-default-platform.at:207;Sort by devices;;
+22;testsuite-default-platform.at:227;Sort by devices (rev);;
+23;testsuite-workaround.at:4;OCL_ICD_VENDORS as directory, two ICD;;
+24;testsuite-workaround.at:17;OCL_ICD_VENDORS as file, buggy ICD with workaround;;
+25;testsuite-workaround.at:27;OCL_ICD_VENDORS as file, buggy ICD without workaround;;
 "
 # List of the all the test groups.
 at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
@@ -622,7 +628,7 @@ at_fn_validate_ranges ()
   for at_grp
   do
     eval at_value=\$$at_grp
-    if test $at_value -lt 1 || test $at_value -gt 19; then
+    if test $at_value -lt 1 || test $at_value -gt 25; then
       $as_echo "invalid test group: $at_value" >&2
       exit 1
     fi
@@ -920,7 +926,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-OpenCL ICD Loader 2.2.5 test suite test groups:
+OpenCL ICD Loader 2.2.6 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -961,7 +967,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (OpenCL ICD Loader 2.2.5)" &&
+  $as_echo "$as_me (OpenCL ICD Loader 2.2.6)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -985,7 +991,7 @@ at_banner_text_1="Standard compliant ocl-icd libOpenCL.so"
 # Category starts at test group 7.
 at_banner_text_2="Default platform selection"
 # Banner 3. testsuite-workaround.at:1
-# Category starts at test group 17.
+# Category starts at test group 23.
 at_banner_text_3="ocl-icd with workaround for intel bug"
 
 # Take any -C into account.
@@ -1147,11 +1153,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ----------------------------------- ##
-## OpenCL ICD Loader 2.2.5 test suite. ##
+## OpenCL ICD Loader 2.2.6 test suite. ##
 ## ----------------------------------- ##"
 {
   $as_echo "## ----------------------------------- ##
-## OpenCL ICD Loader 2.2.5 test suite. ##
+## OpenCL ICD Loader 2.2.6 test suite. ##
 ## ----------------------------------- ##"
   echo
 
@@ -1995,7 +2001,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <ocl-icd-devel at lists.forge.imag.fr>
-   Subject: [OpenCL ICD Loader 2.2.5] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [OpenCL ICD Loader 2.2.6] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
@@ -2264,9 +2270,9 @@ at_xfail=no
   $at_traceon
 
 
-    OCL_ICD_DEBUG=15
+    OCL_ICD_DEBUG=7
     export OCL_ICD_DEBUG
-    $as_echo "$at_srcdir/testsuite-standard.at:38: export OCL_ICD_DEBUG=15"
+    $as_echo "$at_srcdir/testsuite-standard.at:38: export OCL_ICD_DEBUG=7"
 
     OCL_ICD_VENDORS=$abs_top_builddir/vendors
     export OCL_ICD_VENDORS
@@ -2320,13 +2326,43 @@ at_fn_check_status 0 $at_status "$at_srcdir/testsuite-standard.at:41"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
+{ set +x
+$as_echo "$at_srcdir/testsuite-standard.at:42: grep -v '^[0-9]* *:' stdout "
+at_fn_check_prepare_trace "testsuite-standard.at:42"
+( $at_check_trace; grep -v '^[0-9]* *:' stdout
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "---
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-standard.at:42"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-standard.at:44: sed -e \"s/ *(expected)//\" stdout | uniq -c | grep -v '^ *2 ' "
+at_fn_check_prepare_notrace 'a shell pipeline' "testsuite-standard.at:44"
+( $at_check_trace; sed -e "s/ *(expected)//" stdout | uniq -c | grep -v '^ *2 '
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "      1 ---
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-standard.at:44"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
   set +x
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
 #AT_STOP_5
 #AT_START_6
-at_fn_group_banner 6 'testsuite-standard.at:44' \
+at_fn_group_banner 6 'testsuite-standard.at:48' \
   "ICD Loader extension" "                           " 1
 at_xfail=no
 (
@@ -2336,7 +2372,7 @@ at_xfail=no
 
     OCL_ICD_VENDORS=$abs_top_builddir/vendors
     export OCL_ICD_VENDORS
-    $as_echo "$at_srcdir/testsuite-standard.at:45: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+    $as_echo "$at_srcdir/testsuite-standard.at:49: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
 
 
 
@@ -2352,20 +2388,20 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/testsuite-standard.at:46: ocl_test_icdl"
-at_fn_check_prepare_trace "testsuite-standard.at:46"
+$as_echo "$at_srcdir/testsuite-standard.at:50: ocl_test_icdl"
+at_fn_check_prepare_trace "testsuite-standard.at:50"
 ( $at_check_trace; ocl_test_icdl
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "ocl_version: OpenCL 1.2
-version: 2.2.5
+version: 2.2.6
 name: OpenCL ICD Loader
 vendor: OCL Icd free software
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-standard.at:46"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-standard.at:50"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -2414,8 +2450,8 @@ at_xfail=no
 
 
 
-    unset OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:6: unset OPENCL_ICD_DEFAULT_PLATFORM"
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:6: unset OCL_ICD_DEFAULT_PLATFORM"
 
 
 
@@ -2470,9 +2506,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:16: export OCL_ICD_VENDORS=unexisting-vendors-dir"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=0
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:16: export OPENCL_ICD_DEFAULT_PLATFORM=0"
+    OCL_ICD_DEFAULT_PLATFORM=0
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:16: export OCL_ICD_DEFAULT_PLATFORM=0"
 
 
 
@@ -2494,8 +2530,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -2556,9 +2592,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:27: export OCL_ICD_VENDORS=unexisting-vendors-dir"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=1
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:27: export OPENCL_ICD_DEFAULT_PLATFORM=1"
+    OCL_ICD_DEFAULT_PLATFORM=1
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:27: export OCL_ICD_DEFAULT_PLATFORM=1"
 
 
 
@@ -2580,8 +2616,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -2665,8 +2701,8 @@ at_xfail=no
 
 
 
-    unset OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:40: unset OPENCL_ICD_DEFAULT_PLATFORM"
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:40: unset OCL_ICD_DEFAULT_PLATFORM"
 
 
 
@@ -2722,9 +2758,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:50: export OCL_ICD_VENDORS=\$abs_top_builddir/.libs/libdummycl.so"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=0
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:50: export OPENCL_ICD_DEFAULT_PLATFORM=0"
+    OCL_ICD_DEFAULT_PLATFORM=0
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:50: export OCL_ICD_DEFAULT_PLATFORM=0"
 
 
 
@@ -2746,8 +2782,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -2809,9 +2845,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:62: export OCL_ICD_VENDORS=\$abs_top_builddir/.libs/libdummycl.so"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=1
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:62: export OPENCL_ICD_DEFAULT_PLATFORM=1"
+    OCL_ICD_DEFAULT_PLATFORM=1
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:62: export OCL_ICD_DEFAULT_PLATFORM=1"
 
 
 
@@ -2833,8 +2869,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -2925,8 +2961,8 @@ at_xfail=no
 
 
 
-    unset OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:77: unset OPENCL_ICD_DEFAULT_PLATFORM"
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:77: unset OCL_ICD_DEFAULT_PLATFORM"
 
 
 
@@ -3003,9 +3039,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:92: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=0
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:92: export OPENCL_ICD_DEFAULT_PLATFORM=0"
+    OCL_ICD_DEFAULT_PLATFORM=0
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:92: export OCL_ICD_DEFAULT_PLATFORM=0"
 
 
 
@@ -3027,8 +3063,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -3105,9 +3141,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:103: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=1
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:103: export OPENCL_ICD_DEFAULT_PLATFORM=1"
+    OCL_ICD_DEFAULT_PLATFORM=1
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:103: export OCL_ICD_DEFAULT_PLATFORM=1"
 
 
 
@@ -3129,8 +3165,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -3207,9 +3243,9 @@ at_xfail=no
     export OCL_ICD_VENDORS
     $as_echo "$at_srcdir/testsuite-default-platform.at:114: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
 
-    OPENCL_ICD_DEFAULT_PLATFORM=2
-    export OPENCL_ICD_DEFAULT_PLATFORM
-    $as_echo "$at_srcdir/testsuite-default-platform.at:114: export OPENCL_ICD_DEFAULT_PLATFORM=2"
+    OCL_ICD_DEFAULT_PLATFORM=2
+    export OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:114: export OCL_ICD_DEFAULT_PLATFORM=2"
 
 
 
@@ -3231,8 +3267,8 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OPENCL_ICD_DEFAULT_PLATFORM"'"'
-    $as_echo "environment: OPENCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"OCL_ICD_DEFAULT_PLATFORM"'"'
+    $as_echo "environment: OCL_ICD_DEFAULT_PLATFORM='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -3279,25 +3315,53 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_16
 #AT_START_17
-at_fn_group_banner 17 'testsuite-workaround.at:4' \
-  "OCL_ICD_VENDORS as directory, two ICD" "          " 3
+at_fn_group_banner 17 'testsuite-default-platform.at:127' \
+  "Sort by GPU" "                                    " 2
 at_xfail=no
 (
   $as_echo "17. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
-    OCL_ICD_ASSUME_ICD_EXTENSION=1
-    export OCL_ICD_ASSUME_ICD_EXTENSION
-    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_ASSUME_ICD_EXTENSION=1"
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:128: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
 
     OCL_ICD_DEBUG=7
     export OCL_ICD_DEBUG
-    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_DEBUG=7"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export OCL_ICD_DEBUG=7"
 
     OCL_ICD_VENDORS=$abs_top_builddir/vendors
     export OCL_ICD_VENDORS
-    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+    NB_GPU=31
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_GPU=31"
+
+    NB_GPU2=3
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_GPU2=3"
+
+    NB_CPU=3
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_CPU=3"
+
+    NB_CPU2=31
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_CPU2=31"
+
+    NB_ALL=3
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_ALL=3"
+
+    NB_ALL2=31
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:129: export NB_ALL2=31
+	"
 
 
 
@@ -3305,8 +3369,6 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OCL_ICD_ASSUME_ICD_EXTENSION"'"'
-    $as_echo "environment: OCL_ICD_ASSUME_ICD_EXTENSION='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -3326,38 +3388,78 @@ at_xfail=no
 
 
 
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
 
-{ set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:8: ocl_test"
-at_fn_check_prepare_trace "testsuite-workaround.at:8"
-( $at_check_trace; ocl_test
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-echo stderr:; tee stderr <"$at_stderr"
-echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:8"
-$at_failed && at_fn_log_failure
-$at_traceon; }
+
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:138: unset OCL_ICD_DEFAULT_PLATFORM"
+
+
 
 { set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:9: env LC_ALL=C sort stdout"
-at_fn_check_prepare_trace "testsuite-workaround.at:9"
-( $at_check_trace; env LC_ALL=C sort stdout
+$as_echo "$at_srcdir/testsuite-default-platform.at:139: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:139"
+( $at_check_trace; ocl_test --default-platform
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Found 3 platforms!
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
 ocl-icd ICD test
-ocl-icd ICD test (no ext)
 ocl-icd ICD test2
+ocl-icd ICD test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:9"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:139"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -3367,30 +3469,53 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_17
 #AT_START_18
-at_fn_group_banner 18 'testsuite-workaround.at:17' \
-  "OCL_ICD_VENDORS as file, buggy ICD with workaround" "" 3
+at_fn_group_banner 18 'testsuite-default-platform.at:147' \
+  "Sort by GPU (rev)" "                              " 2
 at_xfail=no
 (
   $as_echo "18. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
-    OCL_ICD_ASSUME_ICD_EXTENSION=1
-    export OCL_ICD_ASSUME_ICD_EXTENSION
-    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_ASSUME_ICD_EXTENSION=1"
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:148: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
 
     OCL_ICD_DEBUG=7
     export OCL_ICD_DEBUG
-    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_DEBUG=7"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export OCL_ICD_DEBUG=7"
 
-    OCL_ICD_VENDORS=$abs_top_builddir/vendors/dummycl-noext.icd
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
     export OCL_ICD_VENDORS
-    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors/dummycl-noext.icd"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
 
-    EMULATE_INTEL_ICD=1
-    export EMULATE_INTEL_ICD
-    $as_echo "$at_srcdir/testsuite-workaround.at:18: export EMULATE_INTEL_ICD=1"
+    NB_GPU=3
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_GPU=3"
 
+    NB_GPU2=31
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_GPU2=31"
+
+    NB_CPU=3
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_CPU=3"
+
+    NB_CPU2=31
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_CPU2=31"
+
+    NB_ALL=3
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_ALL=3"
+
+    NB_ALL2=31
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:149: export NB_ALL2=31
+	"
 
 
 
@@ -3398,8 +3523,6 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"OCL_ICD_ASSUME_ICD_EXTENSION"'"'
-    $as_echo "environment: OCL_ICD_ASSUME_ICD_EXTENSION='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
@@ -3419,54 +3542,78 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"EMULATE_INTEL_ICD"'"'
-    $as_echo "environment: EMULATE_INTEL_ICD='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
 
 
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
 
 
-{ set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:22: ocl_test"
-at_fn_check_prepare_trace "testsuite-workaround.at:22"
-( $at_check_trace; ocl_test
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-echo stderr:; tee stderr <"$at_stderr"
-echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:22"
-$at_failed && at_fn_log_failure
-$at_traceon; }
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:158: unset OCL_ICD_DEFAULT_PLATFORM"
+
 
-{ set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:23: grep \"^Found 1 platforms!\$\" stdout"
-at_fn_check_prepare_dynamic "grep \"^Found 1 platforms!$\" stdout" "testsuite-workaround.at:23"
-( $at_check_trace; grep "^Found 1 platforms!$" stdout
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:23"
-$at_failed && at_fn_log_failure
-$at_traceon; }
 
 { set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:24: grep \"^ocl-icd ICD test (no ext)\$\" stdout"
-at_fn_check_prepare_dynamic "grep \"^ocl-icd ICD test (no ext)$\" stdout" "testsuite-workaround.at:24"
-( $at_check_trace; grep "^ocl-icd ICD test (no ext)$" stdout
+$as_echo "$at_srcdir/testsuite-default-platform.at:159: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:159"
+( $at_check_trace; ocl_test --default-platform
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo stdout:; cat "$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:24"
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:159"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -3476,25 +3623,58 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_18
 #AT_START_19
-at_fn_group_banner 19 'testsuite-workaround.at:27' \
-  "OCL_ICD_VENDORS as file, buggy ICD without workaround" "" 3
+at_fn_group_banner 19 'testsuite-default-platform.at:167' \
+  "Sort by CPU" "                                    " 2
 at_xfail=no
 (
   $as_echo "19. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:168: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
+
     OCL_ICD_DEBUG=7
     export OCL_ICD_DEBUG
-    $as_echo "$at_srcdir/testsuite-workaround.at:28: export OCL_ICD_DEBUG=7"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export OCL_ICD_DEBUG=7"
 
-    OCL_ICD_VENDORS=$abs_top_builddir/vendors/dummycl-noext.icd
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
     export OCL_ICD_VENDORS
-    $as_echo "$at_srcdir/testsuite-workaround.at:28: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors/dummycl-noext.icd"
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+    NB_GPU=3
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_GPU=3"
+
+    NB_GPU2=3
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_GPU2=3"
+
+    NB_CPU=31
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_CPU=31"
+
+    NB_CPU2=3
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_CPU2=3"
+
+    NB_ALL=3
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_ALL=3"
+
+    NB_ALL2=31
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:169: export NB_ALL2=31
+	"
+
+
+
+
 
-    EMULATE_INTEL_ICD=1
-    export EMULATE_INTEL_ICD
-    $as_echo "$at_srcdir/testsuite-workaround.at:28: export EMULATE_INTEL_ICD=1"
 
 
 
@@ -3516,32 +3696,812 @@ at_xfail=no
 
 
 
-    eval _at_envval='"$'"EMULATE_INTEL_ICD"'"'
-    $as_echo "environment: EMULATE_INTEL_ICD='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
 
 
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
 
 
 
 
-{ set +x
-$as_echo "$at_srcdir/testsuite-workaround.at:31: ocl_test"
-at_fn_check_prepare_trace "testsuite-workaround.at:31"
-( $at_check_trace; ocl_test
-) >>"$at_stdout" 2>>"$at_stderr" 5>&-
-at_status=$? at_failed=false
-$at_check_filter
-echo stderr:; tee stderr <"$at_stderr"
-echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 3 $at_status "$at_srcdir/testsuite-workaround.at:31"
-$at_failed && at_fn_log_failure
-$at_traceon; }
 
-  set +x
-  $at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 7>&- | eval $at_tee_pipe
-read at_status <"$at_status_file"
-#AT_STOP_19
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:178: unset OCL_ICD_DEFAULT_PLATFORM"
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-default-platform.at:179: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:179"
+( $at_check_trace; ocl_test --default-platform
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
+ocl-icd ICD test
+ocl-icd ICD test2
+ocl-icd ICD test
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:179"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_19
+#AT_START_20
+at_fn_group_banner 20 'testsuite-default-platform.at:187' \
+  "Sort by CPU (rev)" "                              " 2
+at_xfail=no
+(
+  $as_echo "20. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:188: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+    NB_GPU=3
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_GPU=3"
+
+    NB_GPU2=3
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_GPU2=3"
+
+    NB_CPU=3
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_CPU=3"
+
+    NB_CPU2=31
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_CPU2=31"
+
+    NB_ALL=3
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_ALL=3"
+
+    NB_ALL2=31
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:189: export NB_ALL2=31
+	"
+
+
+
+
+
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:198: unset OCL_ICD_DEFAULT_PLATFORM"
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-default-platform.at:199: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:199"
+( $at_check_trace; ocl_test --default-platform
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:199"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_20
+#AT_START_21
+at_fn_group_banner 21 'testsuite-default-platform.at:207' \
+  "Sort by devices" "                                " 2
+at_xfail=no
+(
+  $as_echo "21. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:208: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+    NB_GPU=3
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_GPU=3"
+
+    NB_GPU2=3
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_GPU2=3"
+
+    NB_CPU=31
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_CPU=31"
+
+    NB_CPU2=31
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_CPU2=31"
+
+    NB_ALL=31
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_ALL=31"
+
+    NB_ALL2=3
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:209: export NB_ALL2=3
+	"
+
+
+
+
+
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:218: unset OCL_ICD_DEFAULT_PLATFORM"
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-default-platform.at:219: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:219"
+( $at_check_trace; ocl_test --default-platform
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
+ocl-icd ICD test
+ocl-icd ICD test2
+ocl-icd ICD test
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:219"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_21
+#AT_START_22
+at_fn_group_banner 22 'testsuite-default-platform.at:227' \
+  "Sort by devices (rev)" "                          " 2
+at_xfail=no
+(
+  $as_echo "22. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    unset OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-default-platform.at:228: unset OCL_ICD_ASSUME_ICD_EXTENSION"
+
+
+
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+    NB_GPU=3
+    export NB_GPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_GPU=3"
+
+    NB_GPU2=3
+    export NB_GPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_GPU2=3"
+
+    NB_CPU=3
+    export NB_CPU
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_CPU=3"
+
+    NB_CPU2=3
+    export NB_CPU2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_CPU2=3"
+
+    NB_ALL=3
+    export NB_ALL
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_ALL=3"
+
+    NB_ALL2=31
+
+    export NB_ALL2
+    $as_echo "$at_srcdir/testsuite-default-platform.at:229: export NB_ALL2=31
+	"
+
+
+
+
+
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU"'"'
+    $as_echo "environment: NB_GPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_GPU2"'"'
+    $as_echo "environment: NB_GPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU"'"'
+    $as_echo "environment: NB_CPU='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_CPU2"'"'
+    $as_echo "environment: NB_CPU2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL"'"'
+    $as_echo "environment: NB_ALL='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"NB_ALL2"'"'
+    $as_echo "environment: NB_ALL2='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    unset OCL_ICD_DEFAULT_PLATFORM
+    $as_echo "$at_srcdir/testsuite-default-platform.at:238: unset OCL_ICD_DEFAULT_PLATFORM"
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-default-platform.at:239: ocl_test --default-platform"
+at_fn_check_prepare_trace "testsuite-default-platform.at:239"
+( $at_check_trace; ocl_test --default-platform
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo >>"$at_stdout"; $as_echo "Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-default-platform.at:239"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_22
+#AT_START_23
+at_fn_group_banner 23 'testsuite-workaround.at:4' \
+  "OCL_ICD_VENDORS as directory, two ICD" "          " 3
+at_xfail=no
+(
+  $as_echo "23. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    OCL_ICD_ASSUME_ICD_EXTENSION=1
+    export OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_ASSUME_ICD_EXTENSION=1"
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-workaround.at:5: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors"
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_ASSUME_ICD_EXTENSION"'"'
+    $as_echo "environment: OCL_ICD_ASSUME_ICD_EXTENSION='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:8: ocl_test"
+at_fn_check_prepare_trace "testsuite-workaround.at:8"
+( $at_check_trace; ocl_test
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo stdout:; tee stdout <"$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:8"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:9: env LC_ALL=C sort stdout"
+at_fn_check_prepare_trace "testsuite-workaround.at:9"
+( $at_check_trace; env LC_ALL=C sort stdout
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Found 3 platforms!
+ocl-icd ICD test
+ocl-icd ICD test (no ext)
+ocl-icd ICD test2
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_23
+#AT_START_24
+at_fn_group_banner 24 'testsuite-workaround.at:17' \
+  "OCL_ICD_VENDORS as file, buggy ICD with workaround" "" 3
+at_xfail=no
+(
+  $as_echo "24. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    OCL_ICD_ASSUME_ICD_EXTENSION=1
+    export OCL_ICD_ASSUME_ICD_EXTENSION
+    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_ASSUME_ICD_EXTENSION=1"
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors/dummycl-noext.icd
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-workaround.at:18: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors/dummycl-noext.icd"
+
+    EMULATE_INTEL_ICD=1
+    export EMULATE_INTEL_ICD
+    $as_echo "$at_srcdir/testsuite-workaround.at:18: export EMULATE_INTEL_ICD=1"
+
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_ASSUME_ICD_EXTENSION"'"'
+    $as_echo "environment: OCL_ICD_ASSUME_ICD_EXTENSION='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"EMULATE_INTEL_ICD"'"'
+    $as_echo "environment: EMULATE_INTEL_ICD='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:22: ocl_test"
+at_fn_check_prepare_trace "testsuite-workaround.at:22"
+( $at_check_trace; ocl_test
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo stdout:; tee stdout <"$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:22"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:23: grep \"^Found 1 platforms!\$\" stdout"
+at_fn_check_prepare_dynamic "grep \"^Found 1 platforms!$\" stdout" "testsuite-workaround.at:23"
+( $at_check_trace; grep "^Found 1 platforms!$" stdout
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:23"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:24: grep \"^ocl-icd ICD test (no ext)\$\" stdout"
+at_fn_check_prepare_dynamic "grep \"^ocl-icd ICD test (no ext)$\" stdout" "testsuite-workaround.at:24"
+( $at_check_trace; grep "^ocl-icd ICD test (no ext)$" stdout
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite-workaround.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_24
+#AT_START_25
+at_fn_group_banner 25 'testsuite-workaround.at:27' \
+  "OCL_ICD_VENDORS as file, buggy ICD without workaround" "" 3
+at_xfail=no
+(
+  $as_echo "25. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+    OCL_ICD_DEBUG=7
+    export OCL_ICD_DEBUG
+    $as_echo "$at_srcdir/testsuite-workaround.at:28: export OCL_ICD_DEBUG=7"
+
+    OCL_ICD_VENDORS=$abs_top_builddir/vendors/dummycl-noext.icd
+    export OCL_ICD_VENDORS
+    $as_echo "$at_srcdir/testsuite-workaround.at:28: export OCL_ICD_VENDORS=\$abs_top_builddir/vendors/dummycl-noext.icd"
+
+    EMULATE_INTEL_ICD=1
+    export EMULATE_INTEL_ICD
+    $as_echo "$at_srcdir/testsuite-workaround.at:28: export EMULATE_INTEL_ICD=1"
+
+
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_DEBUG"'"'
+    $as_echo "environment: OCL_ICD_DEBUG='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"OCL_ICD_VENDORS"'"'
+    $as_echo "environment: OCL_ICD_VENDORS='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+    eval _at_envval='"$'"EMULATE_INTEL_ICD"'"'
+    $as_echo "environment: EMULATE_INTEL_ICD='$($as_echo "$_at_envval" | sed "s/'/'\\\\''/g")'"
+
+
+
+
+
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite-workaround.at:31: ocl_test"
+at_fn_check_prepare_trace "testsuite-workaround.at:31"
+( $at_check_trace; ocl_test
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; tee stderr <"$at_stderr"
+echo stdout:; tee stdout <"$at_stdout"
+at_fn_check_status 3 $at_status "$at_srcdir/testsuite-workaround.at:31"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_25
diff --git a/tests/testsuite-default-platform.at b/tests/testsuite-default-platform.at
index 8edf020..66c6146 100644
--- a/tests/testsuite-default-platform.at
+++ b/tests/testsuite-default-platform.at
@@ -3,7 +3,7 @@ AT_BANNER([Default platform selection])
 AT_SETUP([No choice, among 0 => CL_INVALID_PLATFORM])
 AT_EXPORT([OCL_ICD_DEBUG],[15],
           [OCL_ICD_VENDORS],[unexisting-vendors-dir])
-AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 dnl TODO check errcode when no platforms are available
 AT_CHECK([cat stdout], 0, 
@@ -15,7 +15,7 @@ AT_CLEANUP
 AT_SETUP([Choice 0, among 0 => CL_INVALID_PLATFORM])
 AT_EXPORT([OCL_ICD_DEBUG],[15],
           [OCL_ICD_VENDORS],[unexisting-vendors-dir],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[0])
+	  [OCL_ICD_DEFAULT_PLATFORM],[0])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 AT_CHECK([cat stdout], 0, 
 [No platforms found!
@@ -26,7 +26,7 @@ AT_CLEANUP
 AT_SETUP([Choice 1, among 0 => CL_INVALID_PLATFORM])
 AT_EXPORT([OCL_ICD_DEBUG],[15],
           [OCL_ICD_VENDORS],[unexisting-vendors-dir],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[1])
+	  [OCL_ICD_DEFAULT_PLATFORM],[1])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 AT_CHECK([cat stdout], 0, 
 [No platforms found!
@@ -37,7 +37,7 @@ AT_CLEANUP
 AT_SETUP([No choice, among 1 => default platform])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so])
-AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 AT_CHECK([cat stdout], 0, 
 [Found 1 platforms!
@@ -49,7 +49,7 @@ AT_CLEANUP
 AT_SETUP([Choice 0, among 1 => default platform])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[0])
+	  [OCL_ICD_DEFAULT_PLATFORM],[0])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 AT_CHECK([cat stdout], 0, 
 [Found 1 platforms!
@@ -61,7 +61,7 @@ AT_CLEANUP
 AT_SETUP([Choice 1, among 1 => CL_INVALID_PLATFORM])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[1])
+	  [OCL_ICD_DEFAULT_PLATFORM],[1])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 AT_CHECK([cat stdout], 0, 
 [Found 1 platforms!
@@ -74,7 +74,7 @@ AT_SETUP([No choice, among 2 => one platform])
 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors])
-AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 dnl platforms can be listed in any order
 AT_CHECK([env LC_ALL=C sort -u stdout], 0, 
@@ -91,7 +91,7 @@ AT_SETUP([Choice 0, among 2 => first platform])
 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[0])
+	  [OCL_ICD_DEFAULT_PLATFORM],[0])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 dnl platforms can be listed in any order
 AT_CHECK([head -n 2 stdout | tail -n 1 > expout], 0, [])
@@ -102,7 +102,7 @@ AT_SETUP([Choice 1, among 2 => second platform])
 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[1])
+	  [OCL_ICD_DEFAULT_PLATFORM],[1])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 dnl platforms can be listed in any order
 AT_CHECK([head -n 3 stdout | tail -n 1 > expout], 0, [])
@@ -113,7 +113,7 @@ AT_SETUP([Choice 2, among 2 => CL_INVALID_PLATFORM])
 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
 AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
-	  [OPENCL_ICD_DEFAULT_PLATFORM],[2])
+	  [OCL_ICD_DEFAULT_PLATFORM],[2])
 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
 dnl platforms can be listed in any order
 AT_CHECK([env LC_ALL=C sort stdout], 0, 
@@ -123,3 +123,123 @@ ocl-icd ICD test
 ocl-icd ICD test2
 ])
 AT_CLEANUP
+
+AT_SETUP([Sort by GPU])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [31],
+          [NB_GPU2], [3],
+	  [NB_CPU], [3],
+          [NB_CPU2], [31],
+	  [NB_ALL], [3],
+          [NB_ALL2], [31]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test
+ocl-icd ICD test2
+ocl-icd ICD test
+], [stderr])
+AT_CLEANUP
+
+AT_SETUP([Sort by GPU (rev)])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [3],
+          [NB_GPU2], [31],
+	  [NB_CPU], [3],
+          [NB_CPU2], [31],
+	  [NB_ALL], [3],
+          [NB_ALL2], [31]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+], [stderr])
+AT_CLEANUP
+
+AT_SETUP([Sort by CPU])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [3],
+          [NB_GPU2], [3],
+	  [NB_CPU], [31],
+          [NB_CPU2], [3],
+	  [NB_ALL], [3],
+          [NB_ALL2], [31]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test
+ocl-icd ICD test2
+ocl-icd ICD test
+], [stderr])
+AT_CLEANUP
+
+AT_SETUP([Sort by CPU (rev)])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [3],
+          [NB_GPU2], [3],
+	  [NB_CPU], [3],
+          [NB_CPU2], [31],
+	  [NB_ALL], [3],
+          [NB_ALL2], [31]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+], [stderr])
+AT_CLEANUP
+
+AT_SETUP([Sort by devices])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [3],
+          [NB_GPU2], [3],
+	  [NB_CPU], [31],
+          [NB_CPU2], [31],
+	  [NB_ALL], [31],
+          [NB_ALL2], [3]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test
+ocl-icd ICD test2
+ocl-icd ICD test
+], [stderr])
+AT_CLEANUP
+
+AT_SETUP([Sort by devices (rev)])
+AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
+AT_EXPORT([OCL_ICD_DEBUG],[7],
+	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
+	  [NB_GPU], [3],
+          [NB_GPU2], [3],
+	  [NB_CPU], [3],
+          [NB_CPU2], [3],
+	  [NB_ALL], [3],
+          [NB_ALL2], [31]
+	)
+AT_UNSET([OCL_ICD_DEFAULT_PLATFORM])
+AT_CHECK([ocl_test --default-platform], 0, 
+[Found 2 platforms!
+ocl-icd ICD test2
+ocl-icd ICD test
+ocl-icd ICD test2
+], [stderr])
+AT_CLEANUP
diff --git a/tests/testsuite-standard.at b/tests/testsuite-standard.at
index cf515ad..930bc1a 100644
--- a/tests/testsuite-standard.at
+++ b/tests/testsuite-standard.at
@@ -35,10 +35,14 @@ ocl-icd ICD test
 AT_CLEANUP
 
 AT_SETUP([Our dummy ICD through our ICD loader])
-AT_EXPORT([OCL_ICD_DEBUG],[15],
+AT_EXPORT([OCL_ICD_DEBUG],[7],
 	  [OCL_ICD_VENDORS],[$abs_top_builddir/vendors])
 AT_CHECK([run_dummy_icd_through_our_ICDL], 0, [stdout], [stderr])
 AT_CHECK([grep "^-1" stdout | sort], 0, [])
+AT_CHECK([grep -v '^[[0-9]]* *:' stdout ], 0, [---
+])
+AT_CHECK([sed -e "s/ *(expected)//" stdout | uniq -c | grep -v '^ *2 ' ], 0, [      1 ---
+])
 AT_CLEANUP
 
 AT_SETUP([ICD Loader extension])

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/ocl-icd.git



More information about the Pkg-opencl-commits mailing list