[build] add tests for default platform selection
[ocl-icd] / tests / testsuite-default-platform.at
1 AT_BANNER([Default platform selection])
2
3 AT_SETUP([No choice, among 0 => CL_INVALID_PLATFORM])
4 AT_EXPORT([OCL_ICD_DEBUG],[15],
5           [OCL_ICD_VENDORS],[unexisting-vendors-dir])
6 AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
7 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
8 dnl TODO check errcode when no platforms are available
9 AT_CHECK([cat stdout], 0, 
10 [No platforms found!
11 Invalid platform
12 ])
13 AT_CLEANUP
14
15 AT_SETUP([Choice 0, among 0 => CL_INVALID_PLATFORM])
16 AT_EXPORT([OCL_ICD_DEBUG],[15],
17           [OCL_ICD_VENDORS],[unexisting-vendors-dir],
18           [OPENCL_ICD_DEFAULT_PLATFORM],[0])
19 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
20 AT_CHECK([cat stdout], 0, 
21 [No platforms found!
22 Invalid platform
23 ])
24 AT_CLEANUP
25
26 AT_SETUP([Choice 1, among 0 => CL_INVALID_PLATFORM])
27 AT_EXPORT([OCL_ICD_DEBUG],[15],
28           [OCL_ICD_VENDORS],[unexisting-vendors-dir],
29           [OPENCL_ICD_DEFAULT_PLATFORM],[1])
30 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
31 AT_CHECK([cat stdout], 0, 
32 [No platforms found!
33 Invalid platform
34 ])
35 AT_CLEANUP
36
37 AT_SETUP([No choice, among 1 => default platform])
38 AT_EXPORT([OCL_ICD_DEBUG],[7],
39           [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so])
40 AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
41 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
42 AT_CHECK([cat stdout], 0, 
43 [Found 1 platforms!
44 ocl-icd ICD test
45 ocl-icd ICD test
46 ])
47 AT_CLEANUP
48
49 AT_SETUP([Choice 0, among 1 => default platform])
50 AT_EXPORT([OCL_ICD_DEBUG],[7],
51           [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so],
52           [OPENCL_ICD_DEFAULT_PLATFORM],[0])
53 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
54 AT_CHECK([cat stdout], 0, 
55 [Found 1 platforms!
56 ocl-icd ICD test
57 ocl-icd ICD test
58 ])
59 AT_CLEANUP
60
61 AT_SETUP([Choice 1, among 1 => CL_INVALID_PLATFORM])
62 AT_EXPORT([OCL_ICD_DEBUG],[7],
63           [OCL_ICD_VENDORS],[$abs_top_builddir/.libs/libdummycl.so],
64           [OPENCL_ICD_DEFAULT_PLATFORM],[1])
65 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
66 AT_CHECK([cat stdout], 0, 
67 [Found 1 platforms!
68 ocl-icd ICD test
69 Invalid platform
70 ])
71 AT_CLEANUP
72
73 AT_SETUP([No choice, among 2 => one platform])
74 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
75 AT_EXPORT([OCL_ICD_DEBUG],[7],
76           [OCL_ICD_VENDORS],[$abs_top_builddir/vendors])
77 AT_UNSET([OPENCL_ICD_DEFAULT_PLATFORM])
78 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
79 dnl platforms can be listed in any order
80 AT_CHECK([env LC_ALL=C sort -u stdout], 0, 
81 [Found 2 platforms!
82 ocl-icd ICD test
83 ocl-icd ICD test2
84 ])
85 AT_CHECK([wc -l < stdout], 0, 
86 [4
87 ])
88 AT_CLEANUP
89
90 AT_SETUP([Choice 0, among 2 => first platform])
91 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
92 AT_EXPORT([OCL_ICD_DEBUG],[7],
93           [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
94           [OPENCL_ICD_DEFAULT_PLATFORM],[0])
95 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
96 dnl platforms can be listed in any order
97 AT_CHECK([head -n 2 stdout | tail -n 1 > expout], 0, [])
98 AT_CHECK([tail -n 1 stdout], 0, [expout])
99 AT_CLEANUP
100
101 AT_SETUP([Choice 1, among 2 => second platform])
102 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
103 AT_EXPORT([OCL_ICD_DEBUG],[7],
104           [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
105           [OPENCL_ICD_DEFAULT_PLATFORM],[1])
106 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
107 dnl platforms can be listed in any order
108 AT_CHECK([head -n 3 stdout | tail -n 1 > expout], 0, [])
109 AT_CHECK([tail -n 1 stdout], 0, [expout])
110 AT_CLEANUP
111
112 AT_SETUP([Choice 2, among 2 => CL_INVALID_PLATFORM])
113 AT_UNSET([OCL_ICD_ASSUME_ICD_EXTENSION])
114 AT_EXPORT([OCL_ICD_DEBUG],[7],
115           [OCL_ICD_VENDORS],[$abs_top_builddir/vendors],
116           [OPENCL_ICD_DEFAULT_PLATFORM],[2])
117 AT_CHECK([ocl_test --default-platform], 0, [stdout], [stderr])
118 dnl platforms can be listed in any order
119 AT_CHECK([env LC_ALL=C sort stdout], 0, 
120 [Found 2 platforms!
121 Invalid platform
122 ocl-icd ICD test
123 ocl-icd ICD test2
124 ])
125 AT_CLEANUP