Update CrOS OOBE throbber to MD throbber; delete old asset
[chromium-blink-merge.git] / chrome / test / data / nacl / nacl_test_data.gyp
blobac81ad361407adf4f2a134adc9d82667f2ad1b70
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'includes': [
7     '../../../../ppapi/ppapi_nacl_test_common.gypi',
8   ],
9   'targets': [
10     {
11       # TODO bug 512902 this needs to be ported to GN.
12       'target_name': 'shared_test_files',
13       'type': 'none',
14       'variables': {
15         'build_newlib': 1,
16         'build_glibc': 1,
17         'build_pnacl_newlib': 1,
18         'nexe_destination_dir': 'nacl_test_data',
19         'test_files': [
20           # TODO(ncbray) move into chrome/test/data/nacl when all tests are
21           # converted.
22           '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
24           # Files that aren't assosiated with any particular executable.
25           'bad/ppapi_bad.html',
26           'bad/ppapi_bad.js',
27           'bad/ppapi_bad_native.html',
28           'bad/ppapi_bad_doesnotexist.nmf',
29           'bad/ppapi_bad_magic.nmf',
30           'bad/ppapi_bad_manifest_uses_nexes.nmf',
31           'bad/ppapi_bad_manifest_bad_files.nmf',
32           'bad/ppapi_bad_manifest_nexe_arch.nmf',
33           'crash/ppapi_crash.js',
34           'crash/ppapi_crash_via_check_failure.html',
35           'crash/ppapi_crash_via_exit_call.html',
36           'crash/ppapi_crash_in_callback.html',
37           'crash/ppapi_crash_ppapi_off_main_thread.html',
38           'crash/ppapi_crash_off_main_thread.html',
39           'load_util.js',
40           'manifest_file/test_file.txt',
41           'progress_event_listener.js',
42           'simple_cc.js',
43         ],
44       },
45       'conditions': [
46         ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
47           # Enable nonsfi testing on ia32-linux environment.
48           # This flag causes test_files to be copied into nonsfi directory,
49           # too.
50           'variables': {
51             'enable_x86_32_nonsfi': 1,
52           },
53         }],
54         ['target_arch=="arm" and OS=="linux"', {
55           # Enable nonsfi testing on arm-linux environment.
56           # This flag causes test_files to be copied into nonsfi directory,
57           # too.
58           'variables': {
59             'enable_arm_nonsfi': 1,
60           },
61         }],
62       ],
63     },
64     {
65       'target_name': 'simple_test',
66       'type': 'none',
67       'variables': {
68         'nexe_target': 'simple',
69         'build_newlib': 1,
70         'build_glibc': 1,
71         'build_pnacl_newlib': 1,
72         'nexe_destination_dir': 'nacl_test_data',
73         'sources': [
74           'simple.cc',
75         ],
76         'test_files': [
77           'nacl_load_test.html',
78         ],
79       },
80     },
81     {
82       'target_name': 'exit_status_test',
83       'type': 'none',
84       'variables': {
85         'nexe_target': 'pm_exit_status_test',
86         'build_newlib': 1,
87         'build_glibc': 1,
88         'build_pnacl_newlib': 1,
89         'nexe_destination_dir': 'nacl_test_data',
90         'sources': [
91           'exit_status/pm_exit_status_test.cc',
92         ],
93         'test_files': [
94           'exit_status/pm_exit_status_test.html',
95         ],
96       },
97     },
98     {
99       'target_name': 'extension_validation_cache',
100       'type': 'none',
101       'variables': {
102         'nexe_target': 'extension_validation_cache',
103         # The test currently only has the test expectations for the
104         # newlib and glibc cases (# validation queries/settings), and has also
105         # hardcoded the newlib and glibc variants' directory path for the
106         # unpacked ext.
107         'build_newlib': 1,
108         'build_glibc': 1,
109         'build_pnacl_newlib': 0,
110         # Need a new directory to not clash with with other extension
111         # tests's files (e.g., manifest.json).
112         'nexe_destination_dir': 'nacl_test_data/extension_vcache_test',
113         'sources': [
114           'simple.cc',
115         ],
116         'test_files': [
117           # TODO(ncbray) move into chrome/test/data/nacl when all tests are
118           # converted.
119           '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
120           'extension_validation_cache/extension_validation_cache.html',
121           'extension_validation_cache/extension_validation_cache.js',
122           # Turns the test data directory into an extension.
123           # Use a different nexe_destination_dir to isolate the files.
124           # Note that the .nexe names are embedded in this file.
125           'extension_validation_cache/manifest.json',
126           'load_util.js',
127           'simple_cc.js',
128         ],
129       },
130     },
131     {
132       'target_name': 'sysconf_nprocessors_onln_test',
133       'type': 'none',
134       'variables': {
135         'nexe_target': 'sysconf_nprocessors_onln_test',
136         'build_newlib': 1,
137         'build_glibc': 1,
138         'build_pnacl_newlib': 1,
139         'nexe_destination_dir': 'nacl_test_data',
140         'sources': [
141           'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc',
142         ],
143         'test_files': [
144           'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.html',
145         ],
146       },
147     },
148     {
149       'target_name': 'ppapi_test_lib',
150       'type': 'none',
151       'variables': {
152         'nlib_target': 'libppapi_test_lib.a',
153         'nso_target': 'libppapi_test_lib.so',
154         'build_newlib': 1,
155         'build_glibc': 1,
156         'build_pnacl_newlib': 1,
157         'nexe_destination_dir': 'nacl_test_data',
158         'sources': [
159           # TODO(ncbray) move these files once SCons no longer depends on them.
160           '../../../../ppapi/native_client/tests/ppapi_test_lib/get_browser_interface.cc',
161           '../../../../ppapi/native_client/tests/ppapi_test_lib/internal_utils.cc',
162           '../../../../ppapi/native_client/tests/ppapi_test_lib/module_instance.cc',
163           '../../../../ppapi/native_client/tests/ppapi_test_lib/test_interface.cc',
164           '../../../../ppapi/native_client/tests/ppapi_test_lib/testable_callback.cc',
165         ]
166       },
167     },
168     {
169       'target_name': 'ppapi_progress_events',
170       'type': 'none',
171       'variables': {
172         'nexe_target': 'ppapi_progress_events',
173         'build_newlib': 1,
174         'build_glibc': 1,
175         'build_pnacl_newlib': 1,
176         'nexe_destination_dir': 'nacl_test_data',
177         'link_flags': [
178           '-lppapi',
179           '-lppapi_test_lib',
180           '-lplatform',
181           '-lgio',
182         ],
183         'sources': [
184           'progress_events/ppapi_progress_events.cc',
185         ],
186         'test_files': [
187           'progress_events/ppapi_progress_events.html',
188         ],
189       },
190       'dependencies': [
191         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
192         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
193         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
194         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
195         'ppapi_test_lib',
196       ],
197     },
198     {
199       'target_name': 'ppapi_bad_ppp_initialize',
200       'type': 'none',
201       'variables': {
202         'nexe_target': 'ppapi_bad_ppp_initialize',
203         'build_newlib': 1,
204         'build_glibc': 0,
205         'build_pnacl_newlib': 0,
206         'nexe_destination_dir': 'nacl_test_data',
207         'link_flags': [
208           '-lppapi',
209           '-lplatform',
210           '-lgio',
211         ],
212         'sources': [
213           'bad/ppapi_bad_ppp_initialize.cc',
214         ],
215       },
216       'dependencies': [
217         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
218         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
219         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
220       ],
221     },
222     {
223       'target_name': 'ppapi_bad_ppp_initialize_crash',
224       'type': 'none',
225       'variables': {
226         'nexe_target': 'ppapi_bad_ppp_initialize_crash',
227         'build_newlib': 1,
228         'build_glibc': 0,
229         'build_pnacl_newlib': 0,
230         'nexe_destination_dir': 'nacl_test_data',
231         'link_flags': [
232           '-lppapi',
233           '-lplatform',
234           '-lgio',
235         ],
236         'sources': [
237           'bad/ppapi_bad_ppp_initialize_crash.cc',
238         ],
239       },
240       'dependencies': [
241         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
242         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
243         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
244       ],
245     },
246     {
247       'target_name': 'ppapi_bad_no_ppp_instance',
248       'type': 'none',
249       'variables': {
250         'nexe_target': 'ppapi_bad_no_ppp_instance',
251         'build_newlib': 1,
252         'build_glibc': 0,
253         'build_pnacl_newlib': 0,
254         'nexe_destination_dir': 'nacl_test_data',
255         'link_flags': [
256           '-lppapi',
257           '-lplatform',
258           '-lgio',
259         ],
260         'sources': [
261           'bad/ppapi_bad_no_ppp_instance.cc',
262         ],
263       },
264       'dependencies': [
265         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
266         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
267         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
268       ],
269     },
270     {
271       'target_name': 'ppapi_bad_get_ppp_instance_crash',
272       'type': 'none',
273       'variables': {
274         'nexe_target': 'ppapi_bad_get_ppp_instance_crash',
275         'build_newlib': 1,
276         'build_glibc': 0,
277         'build_pnacl_newlib': 0,
278         'nexe_destination_dir': 'nacl_test_data',
279         'link_flags': [
280           '-lppapi',
281           '-lplatform',
282           '-lgio',
283         ],
284         'sources': [
285           'bad/ppapi_bad_get_ppp_instance_crash.cc',
286         ],
287       },
288       'dependencies': [
289         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
290         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
291         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
292       ],
293     },
294     {
295       'target_name': 'ppapi_bad_ppp_instance_didcreate',
296       'type': 'none',
297       'variables': {
298         'nexe_target': 'ppapi_bad_ppp_instance_didcreate',
299         'build_newlib': 1,
300         'build_glibc': 0,
301         'build_pnacl_newlib': 0,
302         'nexe_destination_dir': 'nacl_test_data',
303         'link_flags': [
304           '-lppapi',
305           '-lplatform',
306           '-lgio',
307         ],
308         'sources': [
309           'bad/ppapi_bad_ppp_instance_didcreate.cc',
310         ],
311       },
312       'dependencies': [
313         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
314         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
315         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
316       ],
317     },
318     {
319       'target_name': 'ppapi_bad_ppp_instance_didcreate_crash',
320       'type': 'none',
321       'variables': {
322         'nexe_target': 'ppapi_bad_ppp_instance_didcreate_crash',
323         'build_newlib': 1,
324         'build_glibc': 0,
325         'build_pnacl_newlib': 0,
326         'nexe_destination_dir': 'nacl_test_data',
327         'link_flags': [
328           '-lppapi',
329           '-lplatform',
330           '-lgio',
331         ],
332         'sources': [
333           'bad/ppapi_bad_ppp_instance_didcreate_crash.cc',
334         ],
335       },
336       'dependencies': [
337         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
338         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
339         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
340       ],
341     },
342     {
343       'target_name': 'ppapi_crash_via_check_failure',
344       'type': 'none',
345       'variables': {
346         'nexe_target': 'ppapi_crash_via_check_failure',
347         'build_newlib': 1,
348         'build_glibc': 1,
349         'build_pnacl_newlib': 1,
350         'nexe_destination_dir': 'nacl_test_data',
351         'link_flags': [
352           '-lppapi',
353           '-lppapi_test_lib',
354           '-lplatform',
355           '-lgio',
356         ],
357         'sources': [
358           'crash/ppapi_crash_via_check_failure.cc',
359         ],
360       },
361       'dependencies': [
362         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
363         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
364         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
365         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
366         'ppapi_test_lib',
367       ],
368     },
369     {
370       'target_name': 'ppapi_crash_via_exit_call',
371       'type': 'none',
372       'variables': {
373         'nexe_target': 'ppapi_crash_via_exit_call',
374         'build_newlib': 1,
375         'build_glibc': 1,
376         'build_pnacl_newlib': 1,
377         'nexe_destination_dir': 'nacl_test_data',
378         'link_flags': [
379           '-lppapi',
380           '-lppapi_test_lib',
381           '-lplatform',
382           '-lgio',
383         ],
384         'sources': [
385           'crash/ppapi_crash_via_exit_call.cc',
386         ],
387       },
388       'dependencies': [
389         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
390         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
391         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
392         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
393         'ppapi_test_lib',
394       ],
395     },
396     {
397       'target_name': 'ppapi_crash_in_callback',
398       'type': 'none',
399       'variables': {
400         'nexe_target': 'ppapi_crash_in_callback',
401         'build_newlib': 1,
402         'build_glibc': 1,
403         'build_pnacl_newlib': 1,
404         'nexe_destination_dir': 'nacl_test_data',
405         'link_flags': [
406           '-lppapi',
407           '-lppapi_test_lib',
408           '-lplatform',
409           '-lgio',
410         ],
411         'sources': [
412           'crash/ppapi_crash_in_callback.cc',
413         ],
414       },
415       'dependencies': [
416         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
417         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
418         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
419         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
420         'ppapi_test_lib',
421       ],
422     },
423     {
424       'target_name': 'ppapi_crash_off_main_thread',
425       'type': 'none',
426       'variables': {
427         'nexe_target': 'ppapi_crash_off_main_thread',
428         'build_newlib': 1,
429         'build_glibc': 1,
430         'build_pnacl_newlib': 1,
431         'nexe_destination_dir': 'nacl_test_data',
432         'link_flags': [
433           '-lppapi',
434           '-lppapi_test_lib',
435           '-lplatform',
436           '-lgio',
437         ],
438         'sources': [
439           'crash/ppapi_crash_off_main_thread.cc',
440         ],
441       },
442       'dependencies': [
443         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
444         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
445         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
446         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
447         'ppapi_test_lib',
448       ],
449     },
450     {
451       'target_name': 'ppapi_crash_ppapi_off_main_thread',
452       'type': 'none',
453       'variables': {
454         'nexe_target': 'ppapi_crash_ppapi_off_main_thread',
455         'build_newlib': 1,
456         'build_glibc': 1,
457         'build_pnacl_newlib': 1,
458         'nexe_destination_dir': 'nacl_test_data',
459         'link_flags': [
460           '-lppapi',
461           '-lppapi_test_lib',
462           '-lplatform',
463           '-lgio',
464         ],
465         'sources': [
466           'crash/ppapi_crash_ppapi_off_main_thread.cc',
467         ],
468       },
469       'dependencies': [
470         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
471         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
472         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
473         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
474         'ppapi_test_lib',
475       ],
476     },
477     {
478       'target_name': 'irt_manifest_file',
479       'type': 'none',
480       'variables': {
481         'nexe_target': 'irt_manifest_file',
482         'build_newlib': 1,
483         # Linking problems - can't find __nacl_irt_query.
484         'build_glibc': 0,
485         # TODO(ncbray) support file injection into PNaCl manifest.
486         'build_pnacl_newlib': 0,
487         'nexe_destination_dir': 'nacl_test_data',
488         'link_flags': [
489           '-lppapi_cpp',
490           '-lppapi',
491           '-lplatform',
492           '-lgio',
493           '-lweak_ref',
494           '-lnacl',
495         ],
496         'sources': [
497           'manifest_file/irt_manifest_file_test.cc',
498         ],
499         'create_nmf_args_portable': [
500           '-xtest_file:test_file.txt',
501           '-xnmf says hello world:test_file.txt',
502           # There is no dummy_test_file.txt file intentionally. This is just for
503           # a test case where there is a manifest entry, but no actual file.
504           '-xdummy_test_file:dummy_test_file.txt',
505         ],
506         'test_files': [
507           'manifest_file/irt_manifest_file_test.html',
508         ],
509       },
510       'dependencies': [
511         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
512         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
513         '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
514         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
515         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
516         '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib',
517         '<(DEPTH)/native_client/src/trusted/weak_ref/weak_ref.gyp:weak_ref_lib',
518       ],
519       'conditions': [
520         # These are needed to build a non-SFI nexe binary.
521         # Note that these trigger building nexe files for other
522         # architectures, such as x86-32 (based on enable_XXX variables).
523         # As described above, although the tests for pnacl are currently
524         # disabled, but building the binary should work.
525         # We cannot disable building, as enable_XXX variables are also used
526         # to build newlib linked nexes.
527         ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
528           # Enable nonsfi testing on ia32-linux environment.
529           'variables': {
530             'build_pnacl_newlib': 1,
531             'translate_pexe_with_build': 1,
532             'enable_x86_32_nonsfi': 1,
533           },
534         }],
535         ['target_arch=="arm" and OS=="linux"', {
536           # Enable nonsfi testing on arm-linux environment.
537           'variables': {
538             'build_pnacl_newlib': 1,
539             'translate_pexe_with_build': 1,
540             'enable_arm_nonsfi': 1,
541           },
542         }],
543       ],
544     },
545     {
546       'target_name': 'irt_exception_test',
547       'type': 'none',
548       'variables': {
549         'nexe_target': 'irt_exception_test',
550         'build_newlib': 1,
551         'generate_nmf': 1,
552         'nexe_destination_dir': 'nacl_test_data',
553         'build_pnacl_newlib': 1,
554         'link_flags': [
555           '-lppapi',
556           '-lppapi_test_lib',
557           '-lplatform',
558           '-lgio',
559           '-lnacl_exception',
560         ],
561         'sources': [
562           'irt_exception/irt_exception_test.cc',
563         ],
564         'test_files': [
565           # TODO(ncbray) move into chrome/test/data/nacl when all tests are
566           # converted.
567           'irt_exception/irt_exception_test.html',
568         ],
569       },
570       'dependencies': [
571         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
572         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
573         '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_lib',
574         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
575         '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
576         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
577         'ppapi_test_lib',
578       ],
579       'conditions': [
580         ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
581           # Enable nonsfi testing on ia32-linux environment.
582           'variables': {
583             'enable_x86_32_nonsfi': 1,
584             'translate_pexe_with_build': 1,
585           },
586         }],
587         ['target_arch=="arm" and OS=="linux"', {
588           # Enable nonsfi testing on arm-linux environment.
589           'variables': {
590             'enable_arm_nonsfi': 1,
591             'translate_pexe_with_build': 1,
592           },
593         }],
594       ],
595     },
596     {
597       'target_name': 'ppapi_extension_mime_handler',
598       'type': 'none',
599       'variables': {
600         'nexe_target': 'ppapi_extension_mime_handler',
601         'build_newlib': 1,
602         'build_glibc': 0,
603         'build_pnacl_newlib': 0,
604         'nexe_destination_dir': 'nacl_test_data',
605         'link_flags': [
606           '-lppapi',
607           '-lppapi_test_lib',
608           '-lplatform',
609           '-lgio',
610         ],
611         'sources': [
612           'extension_mime_handler/ppapi_extension_mime_handler.cc',
613         ],
614         'test_files': [
615           'extension_mime_handler/ppapi_extension_mime_handler.html',
616           'extension_mime_handler/mime_test_data.dat',
617           # For faking the file's MIME type.
618           'extension_mime_handler/mime_test_data.dat.mock-http-headers',
619           # Turns the test data directory into an extension.  Hackish.
620           # Note that the .nexe names are embedded in this file.
621           'extension_mime_handler/manifest.json',
622         ],
623       },
624       'dependencies': [
625         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
626         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
627         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
628         'ppapi_test_lib',
629       ],
630     },
631     {
632       'target_name': 'pnacl_debug_url_test',
633       'type': 'none',
634       'variables': {
635         'nexe_target': 'pnacl_debug_url',
636         'build_pnacl_newlib': 1,
637         'nexe_destination_dir': 'nacl_test_data',
638         'generate_nmf': 0,
639         'sources': [
640           'simple.cc',
641         ],
642         'test_files': [
643           'pnacl_debug_url/pnacl_debug_url.html',
644           'pnacl_debug_url/pnacl_has_debug.nmf',
645           'pnacl_debug_url/pnacl_has_debug_flag_off.nmf',
646           'pnacl_debug_url/pnacl_no_debug.nmf',
647         ],
648       },
649     },
650     {
651       'target_name': 'pnacl_error_handling_test',
652       'type': 'none',
653       'variables': {
654         'nexe_target': 'pnacl_errors',
655         'extra_args': ['--nonstable-pnacl'],
656         'build_pnacl_newlib': 1,
657         'nexe_destination_dir': 'nacl_test_data',
658         'sources': [
659           'simple.cc',
660         ],
661         'generate_nmf': 0,
662         'test_files': [
663           'pnacl_error_handling/pnacl_error_handling.html',
664           'pnacl_error_handling/bad.pexe',
665           'pnacl_error_handling/pnacl_bad_pexe.nmf',
666           'pnacl_error_handling/pnacl_bad_pexe_O0.nmf',
667           'pnacl_error_handling/pnacl_bad_doesnotexist.nmf',
668           'pnacl_error_handling/pnacl_illformed_manifest.nmf',
669           'pnacl_error_handling/pnacl_nonfinal_pexe_O0.nmf',
670         ],
671       },
672     },
673     {
674       'target_name': 'pnacl_mime_type_test',
675       'type': 'none',
676       'variables': {
677         'build_newlib': 1,
678         'build_glibc': 1,
679         'build_pnacl_newlib': 1,
680         'nexe_destination_dir': 'nacl_test_data',
681         'test_files': [
682           'pnacl_mime_type/pnacl_mime_type.html',
683         ],
684       },
685     },
686     {
687       'target_name': 'pnacl_options_test',
688       'type': 'none',
689       'variables': {
690         'nexe_target': 'pnacl_options',
691         'build_pnacl_newlib': 1,
692         'nexe_destination_dir': 'nacl_test_data',
693         'generate_nmf': 0,
694         'sources': [
695           'simple.cc',
696         ],
697         'test_files': [
698           'pnacl_nmf_options/pnacl_options.html',
699           'pnacl_nmf_options/pnacl_o_0.nmf',
700           'pnacl_nmf_options/pnacl_o_2.nmf',
701           'pnacl_nmf_options/pnacl_o_large.nmf',
702         ],
703       },
704     },
705     {
706       'target_name': 'pnacl_dyncode_syscall_disabled_test',
707       'type': 'none',
708       'variables': {
709         'nexe_target': 'pnacl_dyncode_syscall_disabled',
710         'build_pnacl_newlib': 1,
711         'nexe_destination_dir': 'nacl_test_data',
712         'link_flags': [
713           '-lppapi',
714           '-lppapi_test_lib',
715           '-lplatform',
716           '-lgio',
717           # The "_private" variant of the library calls the syscalls
718           # directly, which allows us to test the syscalls directly,
719           # even when the dyncode IRT interface is also disabled under
720           # PNaCl.
721           '-lnacl_dyncode_private',
722         ],
723         'sources': [
724           'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.cc',
725         ],
726         'test_files': [
727           'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.html',
728         ],
729       },
730       'dependencies': [
731         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
732         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
733         '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_dyncode_private_lib',
734         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
735         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
736         'ppapi_test_lib',
737       ],
738     },
739     {
740       'target_name': 'pnacl_hw_eh_disabled_test',
741       'type': 'none',
742       'variables': {
743         'nexe_target': 'pnacl_hw_eh_disabled',
744         'build_pnacl_newlib': 1,
745         'nexe_destination_dir': 'nacl_test_data',
746         'link_flags': [
747           '-lppapi',
748           '-lppapi_test_lib',
749           '-lplatform',
750           '-lgio',
751           # The "_private" variant of the library calls the syscalls
752           # directly, which allows us to test the syscalls directly,
753           # even when the exception-handling IRT interface is also
754           # disabled under PNaCl.
755           '-lnacl_exception_private',
756         ],
757         'sources': [
758           'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.cc',
759         ],
760         'test_files': [
761           'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.html',
762         ],
763       },
764       'dependencies': [
765         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
766         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
767         '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_private_lib',
768         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
769         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
770         'ppapi_test_lib',
771       ],
772     },
773     # Legacy NaCl PPAPI interface tests being here.
774     {
775       'target_name': 'ppapi_ppb_core',
776       'type': 'none',
777       'variables': {
778         'nexe_target': 'ppapi_ppb_core',
779         'build_newlib': 1,
780         'build_glibc': 1,
781         'build_pnacl_newlib': 1,
782         'nexe_destination_dir': 'nacl_test_data',
783         'link_flags': [
784           '-lppapi',
785           '-lppapi_test_lib',
786           '-lplatform',
787           '-lgio',
788         ],
789         'sources': [
790           'ppapi/ppb_core/ppapi_ppb_core.cc',
791         ],
792         'test_files': [
793           'ppapi/ppb_core/ppapi_ppb_core.html',
794         ],
795       },
796       'dependencies': [
797         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
798         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
799         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
800         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
801         'ppapi_test_lib',
802       ],
803     },
804     {
805       'target_name': 'ppapi_ppb_instance',
806       'type': 'none',
807       'variables': {
808         'nexe_target': 'ppapi_ppb_instance',
809         'build_newlib': 1,
810         'build_glibc': 1,
811         'build_pnacl_newlib': 1,
812         'nexe_destination_dir': 'nacl_test_data',
813         'link_flags': [
814           '-lppapi',
815           '-lppapi_test_lib',
816           '-lplatform',
817           '-lgio',
818         ],
819         'sources': [
820           'ppapi/ppb_instance/ppapi_ppb_instance.cc',
821         ],
822         'test_files': [
823           'ppapi/ppb_instance/ppapi_ppb_instance.html',
824         ],
825       },
826       'dependencies': [
827         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
828         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
829         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
830         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
831         'ppapi_test_lib',
832       ],
833     },
834     {
835       'target_name': 'ppapi_ppp_instance',
836       'type': 'none',
837       'variables': {
838         'nexe_target': 'ppapi_ppp_instance',
839         'build_newlib': 1,
840         'build_glibc': 1,
841         'build_pnacl_newlib': 1,
842         'nexe_destination_dir': 'nacl_test_data',
843         'link_flags': [
844           '-lppapi',
845           '-lppapi_test_lib',
846           '-lplatform',
847           '-lgio',
848         ],
849         'sources': [
850           'ppapi/ppp_instance/ppapi_ppp_instance.cc',
851         ],
852         'test_files': [
853           'ppapi/ppp_instance/ppapi_ppp_instance.html',
854           'ppapi/ppp_instance/ppapi_ppp_instance.js',
855         ],
856       },
857       'dependencies': [
858         '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
859         '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
860         '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
861         '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
862         'ppapi_test_lib',
863       ],
864     },
865   ],
866   'conditions': [
867     ['target_arch!="arm" and disable_newlib==0', {
868       # Source file does not have asm for ARM.
869       'targets': [
870         {
871           'target_name': 'partly_invalid',
872           'type': 'none',
873           'variables': {
874             'nexe_target': 'partly_invalid',
875             'build_newlib': 1,
876             'build_glibc': 0,
877             'build_pnacl_newlib': 0,
878             'nexe_destination_dir': 'nacl_test_data',
879             'sources': [
880               '<(DEPTH)/native_client/tests/stubout_mode/partly_invalid.c',
881             ],
882             'conditions': [
883               ['target_arch=="mipsel"', {
884                 'compile_flags': [
885                   '--pnacl-mips-bias',
886                   '-arch', 'mips32',
887                   '--pnacl-allow-translate',
888                 ],
889                 'link_flags': [
890                   '--pnacl-allow-native',
891                 ],
892               }],
893             ],
894           },
895         },
896       ],
897     }],
899     # Tests for non-SFI mode.
900     ['OS=="linux"', {
901       'targets': [
902         {
903           'target_name': 'nonsfi_libc_free_nexe',
904           'type': 'executable',
905           'product_name': '>(nexe_destination_dir)/libc_free_>(arch_suffix)',
906           'product_extension': 'nexe',
907           'variables': {
908             'arch_suffix': '<(target_arch)',
909             # This is needed, because NaCl's target_default rule is
910             # automatically applied to all the targets in this file, and it
911             # requires nexe_destination_dir, even if it is not important.
912             'nexe_destination_dir': 'nacl_test_data/libc-free',
913           },
914           'sources': [
915             'nonsfi/libc_free.c',
916           ],
917           # Here, we would like to link a relocatable, libc-free executable.
918           # -shared/-fPIC make this binary relocatable. -nostdlib ensures
919           # this is libc-free.
920           # The program does not apply any dynamic relocations at start up,
921           # so it cannot rely on relocations having been applied.
922           # In addition, -fvisibility=hidden avoids creating some types
923           # of relocation.
924           'cflags': [
925             '-fPIC',
926             '-fvisibility=hidden',
928             # Stack-Smashing protector does not work with libc-free context.
929             '-fno-stack-protector',
930             # Optimizers may translate the original code to code which
931             # requires builtin functions and/or relocations. Specifically,
932             # the LLVM's optimizer translates for-loop based zero
933             # clear to memset.
934             '-O0',
935           ],
936           'cflags!': [
937             # We filter these out because release_extra_cflags or another
938             # such thing might be adding them in, and those options wind up
939             # coming after the -fno-stack-protector we added above.
940             '-fstack-protector',
941             '-fstack-protector-all',
942             '-fprofile-generate',
943             '-finstrument-functions',
944             # ARM GCC emits symbols like __aeabi_unwind_cpp_pr0 in
945             # .exidx sections with this flag.
946             '-funwind-tables',
947           ],
948           'ldflags': [
949             '-nostdlib',
950             '-shared',
951             # This binary cannot relocate itself, so we should have no
952             # undefined references left.
953             '-Wl,--no-undefined',
954           ],
955           'ldflags!': [
956             # Explicitly remove the -pthread flag to avoid a link time warning.
957             '-pthread',
958           ],
959           # Do not use any sanitizers tools, which require a few symbols.
960           'cflags/': [
961             ['exclude', '-fsanitize'],
962             ['exclude', '^-O'],  # Strip -O2, -Os etc.
963           ],
964           'ldflags/': [
965             ['exclude', '-fsanitize'],
966           ],
967           'defines': [
968             # The code depends on NaCl's headers. This is a macro for them.
969             'NACL_LINUX=1',
970           ],
971           # For native_client/src/include/...
972           'include_dirs': [
973             '../../../..',
974           ],
975           'conditions': [
976             # Overwrite suffix for x64 and ia32 to align NaCl's naming
977             # convention.
978             ['target_arch=="x64"', {
979               'variables': {
980                 'arch_suffix': 'x86_64',
981               }
982             }],
983             ['target_arch=="ia32"', {
984               'variables': {
985                 'arch_suffix': 'x86_32',
986               }
987             }],
988           ],
989         },
990         {
991           'target_name': 'nonsfi_libc_free',
992           'type': 'none',
993           'variables': {
994             'nexe_destination_dir': 'nacl_test_data',
995             'destination_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/libc-free',
996             'test_files': [
997               # TODO(ncbray) move into chrome/test/data/nacl when all tests are
998               # converted.
999               '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
1000               'nonsfi/libc_free.html',
1001               'nonsfi/libc_free.nmf',
1002               'nonsfi/irt_test.html',
1003             ],
1004           },
1005           'dependencies': [
1006             'nonsfi_libc_free_nexe',
1007           ],
1008           # Because we are still under development for non-SFI mode, the
1009           # toolchain is not yet ready, which means ppapi_nacl_common does not
1010           # work well for non-SFI mode yet. Instead, we manually set up the
1011           # testing environment here.
1012           'copies': [
1013             {
1014               'destination': '>(destination_dir)',
1015               'files': [
1016                 '>@(test_files)',
1017               ],
1018             },
1019           ],
1020         },
1021       ],
1022     }],
1023   ],