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.
7 '../../../../ppapi/ppapi_nacl_test_common.gypi',
11 'target_name': 'shared_test_files',
16 'build_pnacl_newlib': 1,
17 'nexe_destination_dir': 'nacl_test_data',
19 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
21 '<(DEPTH)/ppapi/native_client/tests/ppapi_browser/progress_event_listener.js',
22 '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
24 # Files that aren't assosiated with any particular executable.
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.html',
35 'manifest_file/test_file.txt',
39 ['target_arch=="ia32" and OS=="linux"', {
40 # Enable nonsfi testing only on ia32-linux environment.
41 # This flag causes test_files to be copied into nonsfi directory,
44 'enable_x86_32_nonsfi': 1,
50 'target_name': 'simple_test',
53 'nexe_target': 'simple',
56 'build_pnacl_newlib': 1,
57 'nexe_destination_dir': 'nacl_test_data',
62 'nacl_load_test.html',
67 'target_name': 'exit_status_test',
70 'nexe_target': 'pm_exit_status_test',
73 'build_pnacl_newlib': 1,
74 'nexe_destination_dir': 'nacl_test_data',
76 'exit_status/pm_exit_status_test.cc',
79 'exit_status/pm_exit_status_test.html',
84 'target_name': 'extension_validation_cache',
87 'nexe_target': 'extension_validation_cache',
88 # The test currently only has the test expectations for the
89 # newlib and glibc cases (# validation queries/settings), and has also
90 # hardcoded the newlib and glibc variants' directory path for the
94 'build_pnacl_newlib': 0,
95 # Need a new directory to not clash with with other extension
96 # tests's files (e.g., manifest.json).
97 'nexe_destination_dir': 'nacl_test_data/extension_vcache_test',
102 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
104 '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
105 'extension_validation_cache/extension_validation_cache.html',
106 'extension_validation_cache/extension_validation_cache.js',
107 # Turns the test data directory into an extension.
108 # Use a different nexe_destination_dir to isolate the files.
109 # Note that the .nexe names are embedded in this file.
110 'extension_validation_cache/manifest.json',
115 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
119 'target_name': 'sysconf_nprocessors_onln_test',
122 'nexe_target': 'sysconf_nprocessors_onln_test',
125 'build_pnacl_newlib': 1,
126 'nexe_destination_dir': 'nacl_test_data',
128 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc',
131 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.html',
136 'target_name': 'ppapi_test_lib',
139 'nlib_target': 'libppapi_test_lib.a',
140 'nso_target': 'libppapi_test_lib.so',
143 'build_pnacl_newlib': 1,
144 'nexe_destination_dir': 'nacl_test_data',
146 # TODO(ncbray) move these files once SCons no longer depends on them.
147 '../../../../ppapi/native_client/tests/ppapi_test_lib/get_browser_interface.cc',
148 '../../../../ppapi/native_client/tests/ppapi_test_lib/internal_utils.cc',
149 '../../../../ppapi/native_client/tests/ppapi_test_lib/module_instance.cc',
150 '../../../../ppapi/native_client/tests/ppapi_test_lib/testable_callback.cc',
151 '../../../../ppapi/native_client/tests/ppapi_test_lib/test_interface.cc',
155 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
159 'target_name': 'nacl_ppapi_util',
162 'nlib_target': 'libnacl_ppapi_util.a',
163 'nso_target': 'libnacl_ppapi_util.so',
166 'build_pnacl_newlib': 1,
167 'nexe_destination_dir': 'nacl_test_data',
169 # TODO(ncbray) move these files once SCons no longer depends on them.
170 '../../../../ppapi/native_client/src/untrusted/nacl_ppapi_util/string_buffer.cc',
171 '../../../../ppapi/native_client/src/untrusted/nacl_ppapi_util/nacl_ppapi_util.cc',
172 '../../../../ppapi/native_client/src/untrusted/nacl_ppapi_util/ppapi_srpc_main.c',
176 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
180 'target_name': 'ppapi_progress_events',
183 'nexe_target': 'ppapi_progress_events',
186 'build_pnacl_newlib': 1,
187 'nexe_destination_dir': 'nacl_test_data',
195 'progress_events/ppapi_progress_events.cc',
198 'progress_events/ppapi_progress_events.html',
202 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
203 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
204 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
205 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
206 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
211 'target_name': 'ppapi_bad_ppp_initialize',
214 'nexe_target': 'ppapi_bad_ppp_initialize',
217 'build_pnacl_newlib': 0,
218 'nexe_destination_dir': 'nacl_test_data',
225 'bad/ppapi_bad_ppp_initialize.cc',
229 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
230 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
231 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
232 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
236 'target_name': 'ppapi_bad_ppp_initialize_crash',
239 'nexe_target': 'ppapi_bad_ppp_initialize_crash',
242 'build_pnacl_newlib': 0,
243 'nexe_destination_dir': 'nacl_test_data',
250 'bad/ppapi_bad_ppp_initialize_crash.cc',
254 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
255 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
256 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
257 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
261 'target_name': 'ppapi_bad_no_ppp_instance',
264 'nexe_target': 'ppapi_bad_no_ppp_instance',
267 'build_pnacl_newlib': 0,
268 'nexe_destination_dir': 'nacl_test_data',
275 'bad/ppapi_bad_no_ppp_instance.cc',
279 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
280 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
281 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
282 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
286 'target_name': 'ppapi_bad_get_ppp_instance_crash',
289 'nexe_target': 'ppapi_bad_get_ppp_instance_crash',
292 'build_pnacl_newlib': 0,
293 'nexe_destination_dir': 'nacl_test_data',
300 'bad/ppapi_bad_get_ppp_instance_crash.cc',
304 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
305 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
306 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
307 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
311 'target_name': 'ppapi_bad_ppp_instance_didcreate',
314 'nexe_target': 'ppapi_bad_ppp_instance_didcreate',
317 'build_pnacl_newlib': 0,
318 'nexe_destination_dir': 'nacl_test_data',
325 'bad/ppapi_bad_ppp_instance_didcreate.cc',
329 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
330 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
331 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
332 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
336 'target_name': 'ppapi_bad_ppp_instance_didcreate_crash',
339 'nexe_target': 'ppapi_bad_ppp_instance_didcreate_crash',
342 'build_pnacl_newlib': 0,
343 'nexe_destination_dir': 'nacl_test_data',
350 'bad/ppapi_bad_ppp_instance_didcreate_crash.cc',
354 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
355 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
356 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
357 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
361 'target_name': 'ppapi_crash_via_check_failure',
364 'nexe_target': 'ppapi_crash_via_check_failure',
367 'build_pnacl_newlib': 1,
368 'nexe_destination_dir': 'nacl_test_data',
376 'crash/ppapi_crash_via_check_failure.cc',
380 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
381 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
382 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
383 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
384 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
389 'target_name': 'ppapi_crash_via_exit_call',
392 'nexe_target': 'ppapi_crash_via_exit_call',
395 'build_pnacl_newlib': 1,
396 'nexe_destination_dir': 'nacl_test_data',
404 'crash/ppapi_crash_via_exit_call.cc',
408 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
409 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
410 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
411 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
412 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
417 'target_name': 'ppapi_crash_in_callback',
420 'nexe_target': 'ppapi_crash_in_callback',
423 'build_pnacl_newlib': 1,
424 'nexe_destination_dir': 'nacl_test_data',
432 'crash/ppapi_crash_in_callback.cc',
436 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
437 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
438 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
439 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
440 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
445 'target_name': 'ppapi_crash_off_main_thread',
448 'nexe_target': 'ppapi_crash_off_main_thread',
451 'build_pnacl_newlib': 1,
452 'nexe_destination_dir': 'nacl_test_data',
460 'crash/ppapi_crash_off_main_thread.cc',
464 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
465 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
466 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
467 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
468 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
473 'target_name': 'ppapi_crash_ppapi_off_main_thread',
476 'nexe_target': 'ppapi_crash_ppapi_off_main_thread',
479 'build_pnacl_newlib': 1,
480 'nexe_destination_dir': 'nacl_test_data',
488 'crash/ppapi_crash_ppapi_off_main_thread.cc',
492 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
493 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
494 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
495 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
496 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
501 'target_name': 'irt_manifest_file',
504 'nexe_target': 'irt_manifest_file',
506 # Linking problems - can't find __nacl_irt_query.
508 # TODO(ncbray) support file injection into PNaCl manifest.
509 'build_pnacl_newlib': 0,
510 'nexe_destination_dir': 'nacl_test_data',
524 'manifest_file/irt_manifest_file_test.cc',
526 'create_nmf_args_portable': [
527 '-xtest_file:test_file.txt',
528 '-xnmf says hello world:test_file.txt',
529 # There is no dummy_test_file.txt file intentionally. This is just for
530 # a test case where there is a manifest entry, but no actual file.
531 '-xdummy_test_file:dummy_test_file.txt',
534 'manifest_file/irt_manifest_file_test.html',
538 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
539 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
540 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
541 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
542 '<(DEPTH)/native_client/src/shared/srpc/srpc.gyp:srpc_lib',
543 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
544 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
545 '<(DEPTH)/native_client/src/shared/imc/imc.gyp:imc_lib',
546 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib',
547 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib',
548 '<(DEPTH)/native_client/src/trusted/weak_ref/weak_ref.gyp:weak_ref_lib',
552 ['target_arch=="ia32" and OS=="linux"', {
553 # Enable nonsfi testing only on ia32-linux environment.
555 # This is needed to build a non-SFI nexe binary.
556 # Note that this triggers building nexe files for other
557 # architectures, such as x86-32 (based on enable_XXX variables).
558 # As described above, although the tests for pnacl are currently
559 # disabled, but building the binary should work.
560 # We cannot disable building, as enable_XXX variables are also used
561 # to build newlib linked nexes.
562 'build_pnacl_newlib': 1,
563 'translate_pexe_with_build': 1,
564 'enable_x86_32_nonsfi': 1,
570 'target_name': 'irt_exception_test',
573 'nexe_target': 'irt_exception_test',
576 'nexe_destination_dir': 'nacl_test_data',
577 'build_pnacl_newlib': 1,
586 'irt_exception/irt_exception_test.cc',
589 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
591 'irt_exception/irt_exception_test.html',
595 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
596 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
597 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
598 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_lib',
599 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
600 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
601 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
605 ['target_arch=="ia32" and OS=="linux"', {
606 # Enable nonsfi testing only on ia32-linux environment.
608 'enable_x86_32_nonsfi': 1,
609 'translate_pexe_with_build': 1,
615 'target_name': 'ppapi_extension_mime_handler',
618 'nexe_target': 'ppapi_extension_mime_handler',
621 'build_pnacl_newlib': 0,
622 'nexe_destination_dir': 'nacl_test_data',
630 'extension_mime_handler/ppapi_extension_mime_handler.cc',
633 'extension_mime_handler/ppapi_extension_mime_handler.html',
634 'extension_mime_handler/mime_test_data.dat',
635 # For faking the file's MIME type.
636 'extension_mime_handler/mime_test_data.dat.mock-http-headers',
637 # Turns the test data directory into an extension. Hackish.
638 # Note that the .nexe names are embedded in this file.
639 'extension_mime_handler/manifest.json',
643 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
644 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
645 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
646 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
651 'target_name': 'pnacl_debug_url_test',
654 'nexe_target': 'pnacl_debug_url',
655 'build_pnacl_newlib': 1,
656 'nexe_destination_dir': 'nacl_test_data',
662 'pnacl_debug_url/pnacl_debug_url.html',
663 'pnacl_debug_url/pnacl_has_debug.nmf',
664 'pnacl_debug_url/pnacl_has_debug_flag_off.nmf',
665 'pnacl_debug_url/pnacl_no_debug.nmf',
669 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
673 'target_name': 'pnacl_error_handling_test',
676 'build_pnacl_newlib': 1,
677 'nexe_destination_dir': 'nacl_test_data',
678 # Use prebuilt NMF files.
681 'pnacl_error_handling/pnacl_error_handling.html',
682 'pnacl_error_handling/bad.pexe',
683 'pnacl_error_handling/pnacl_bad_pexe.nmf',
684 'pnacl_error_handling/pnacl_bad_doesnotexist.nmf',
685 'pnacl_error_handling/pnacl_illformed_manifest.nmf',
689 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
693 'target_name': 'pnacl_mime_type_test',
698 'build_pnacl_newlib': 1,
699 'nexe_destination_dir': 'nacl_test_data',
701 'pnacl_mime_type/pnacl_mime_type.html',
706 'target_name': 'pnacl_options_test',
709 'nexe_target': 'pnacl_options',
710 'build_pnacl_newlib': 1,
711 'nexe_destination_dir': 'nacl_test_data',
717 'pnacl_nmf_options/pnacl_options.html',
718 'pnacl_nmf_options/pnacl_o_0.nmf',
719 'pnacl_nmf_options/pnacl_o_2.nmf',
720 'pnacl_nmf_options/pnacl_o_large.nmf',
724 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
728 'target_name': 'pnacl_dyncode_syscall_disabled_test',
731 'nexe_target': 'pnacl_dyncode_syscall_disabled',
732 'build_pnacl_newlib': 1,
733 'nexe_destination_dir': 'nacl_test_data',
739 # The "_private" variant of the library calls the syscalls
740 # directly, which allows us to test the syscalls directly,
741 # even when the dyncode IRT interface is also disabled under
743 '-lnacl_dyncode_private',
746 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.cc',
749 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.html',
753 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
754 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
755 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_dyncode_private_lib',
756 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
757 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
758 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
763 'target_name': 'pnacl_hw_eh_disabled_test',
766 'nexe_target': 'pnacl_hw_eh_disabled',
767 'build_pnacl_newlib': 1,
768 'nexe_destination_dir': 'nacl_test_data',
774 # The "_private" variant of the library calls the syscalls
775 # directly, which allows us to test the syscalls directly,
776 # even when the exception-handling IRT interface is also
777 # disabled under PNaCl.
778 '-lnacl_exception_private',
781 'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.cc',
784 'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.html',
788 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
789 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
790 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_private_lib',
791 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
792 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
793 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
797 # Legacy NaCl PPAPI interface tests being here.
799 'target_name': 'ppapi_ppb_core',
802 'nexe_target': 'ppapi_ppb_core',
805 'build_pnacl_newlib': 1,
806 'nexe_destination_dir': 'nacl_test_data',
814 'ppapi/ppb_core/ppapi_ppb_core.cc',
817 'ppapi/ppb_core/ppapi_ppb_core.html',
821 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
822 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
823 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
824 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
825 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
830 'target_name': 'ppapi_ppb_instance',
833 'nexe_target': 'ppapi_ppb_instance',
836 'build_pnacl_newlib': 1,
837 'nexe_destination_dir': 'nacl_test_data',
845 'ppapi/ppb_instance/ppapi_ppb_instance.cc',
848 'ppapi/ppb_instance/ppapi_ppb_instance.html',
852 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
853 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
854 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
855 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
856 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
861 'target_name': 'ppapi_ppp_instance',
864 'nexe_target': 'ppapi_ppp_instance',
867 'build_pnacl_newlib': 1,
868 'nexe_destination_dir': 'nacl_test_data',
876 'ppapi/ppp_instance/ppapi_ppp_instance.cc',
879 'ppapi/ppp_instance/ppapi_ppp_instance.html',
880 'ppapi/ppp_instance/ppapi_ppp_instance.js',
884 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
885 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
886 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
887 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
888 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
894 ['target_arch!="arm"', {
895 # Source file does not have asm for ARM.
898 'target_name': 'partly_invalid',
901 'nexe_target': 'partly_invalid',
904 'build_pnacl_newlib': 0,
905 'nexe_destination_dir': 'nacl_test_data',
907 '<(DEPTH)/native_client/tests/stubout_mode/partly_invalid.c',
910 ['target_arch=="mipsel"', {
914 '--pnacl-allow-translate',
917 '--pnacl-allow-native',
923 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
929 # Tests for non-SFI mode.
933 'target_name': 'nonsfi_libc_free_nexe',
934 'type': 'executable',
935 'product_name': '>(nexe_destination_dir)/libc_free_>(arch_suffix)',
936 'product_extension': 'nexe',
938 'arch_suffix': '<(target_arch)',
939 # This is needed, because NaCl's target_default rule is
940 # automatically applied to all the targets in this file, and it
941 # requires nexe_destination_dir, even if it is not important.
942 'nexe_destination_dir': 'nacl_test_data/libc-free',
945 'nonsfi/libc_free.c',
947 # Here, we would like to link a relocatable, libc-free executable.
948 # -shared/-fPIC make this binary relocatable. -nostdlib ensures
950 # The program does not apply any dynamic relocations at start up,
951 # so it cannot rely on relocations having been applied.
952 # In addition, -fvisibility=hidden avoids creating some types
956 '-fvisibility=hidden',
958 # Stack-Smashing protector does not work with libc-free context.
959 '-fno-stack-protector',
960 # Optimizers may translate the original code to code which
961 # requires builtin functions and/or relocations. Specifically,
962 # the LLVM's optimizer translates for-loop based zero
967 # We filter these out because release_extra_cflags or another
968 # such thing might be adding them in, and those options wind up
969 # coming after the -fno-stack-protector we added above.
971 '-fstack-protector-all',
972 '-fprofile-generate',
973 '-finstrument-functions',
974 # ARM GCC emits symbols like __aeabi_unwind_cpp_pr0 in
975 # .exidx sections with this flag.
981 # This binary cannot relocate itself, so we should have no
982 # undefined references left.
983 '-Wl,--no-undefined',
986 # Explicitly remove the -pthread flag to avoid a link time warning.
989 # Do not use any sanitizers tools, which require a few symbols.
991 ['exclude', '-fsanitize'],
992 ['exclude', '^-O'], # Strip -O2, -Os etc.
995 ['exclude', '-fsanitize'],
998 # The code depends on NaCl's headers. This is a macro for them.
1001 # For native_client/src/include/...
1006 # Overwrite suffix for x64 and ia32 to align NaCl's naming
1008 ['target_arch=="x64"', {
1010 'arch_suffix': 'x86_64',
1013 ['target_arch=="ia32"', {
1015 'arch_suffix': 'x86_32',
1021 'target_name': 'nonsfi_libc_free',
1024 'nexe_destination_dir': 'nacl_test_data',
1025 'destination_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/libc-free',
1027 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
1029 '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
1030 'nonsfi/libc_free.html',
1031 'nonsfi/libc_free.nmf',
1032 'nonsfi/irt_test.html',
1036 'nonsfi_libc_free_nexe',
1038 # Because we are still under development for non-SFI mode, the
1039 # toolchain is not yet ready, which means ppapi_nacl_common does not
1040 # work well for non-SFI mode yet. Instead, we manually set up the
1041 # testing environment here.
1044 'destination': '>(destination_dir)',