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/tools/browser_tester/browserdata/nacltest.js',
23 # Files that aren't assosiated with any particular executable.
26 'bad/ppapi_bad_native.html',
27 'bad/ppapi_bad_doesnotexist.nmf',
28 'bad/ppapi_bad_magic.nmf',
29 'bad/ppapi_bad_manifest_uses_nexes.nmf',
30 'bad/ppapi_bad_manifest_bad_files.nmf',
31 'bad/ppapi_bad_manifest_nexe_arch.nmf',
32 'crash/ppapi_crash.js',
33 'crash/ppapi_crash_via_check_failure.html',
34 'crash/ppapi_crash_via_exit_call.html',
35 'crash/ppapi_crash_in_callback.html',
36 'crash/ppapi_crash_ppapi_off_main_thread.html',
37 'crash/ppapi_crash_off_main_thread.html',
39 'manifest_file/test_file.txt',
40 'progress_event_listener.js',
44 ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
45 # Enable nonsfi testing on ia32-linux environment.
46 # This flag causes test_files to be copied into nonsfi directory,
49 'enable_x86_32_nonsfi': 1,
52 ['target_arch=="arm" and OS=="linux"', {
53 # Enable nonsfi testing on arm-linux environment.
54 # This flag causes test_files to be copied into nonsfi directory,
57 'enable_arm_nonsfi': 1,
63 'target_name': 'simple_test',
66 'nexe_target': 'simple',
69 'build_pnacl_newlib': 1,
70 'nexe_destination_dir': 'nacl_test_data',
75 'nacl_load_test.html',
80 'target_name': 'exit_status_test',
83 'nexe_target': 'pm_exit_status_test',
86 'build_pnacl_newlib': 1,
87 'nexe_destination_dir': 'nacl_test_data',
89 'exit_status/pm_exit_status_test.cc',
92 'exit_status/pm_exit_status_test.html',
97 'target_name': 'extension_validation_cache',
100 'nexe_target': 'extension_validation_cache',
101 # The test currently only has the test expectations for the
102 # newlib and glibc cases (# validation queries/settings), and has also
103 # hardcoded the newlib and glibc variants' directory path for the
107 'build_pnacl_newlib': 0,
108 # Need a new directory to not clash with with other extension
109 # tests's files (e.g., manifest.json).
110 'nexe_destination_dir': 'nacl_test_data/extension_vcache_test',
115 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
117 '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
118 'extension_validation_cache/extension_validation_cache.html',
119 'extension_validation_cache/extension_validation_cache.js',
120 # Turns the test data directory into an extension.
121 # Use a different nexe_destination_dir to isolate the files.
122 # Note that the .nexe names are embedded in this file.
123 'extension_validation_cache/manifest.json',
128 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
132 'target_name': 'sysconf_nprocessors_onln_test',
135 'nexe_target': 'sysconf_nprocessors_onln_test',
138 'build_pnacl_newlib': 1,
139 'nexe_destination_dir': 'nacl_test_data',
141 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc',
144 'sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.html',
149 'target_name': 'ppapi_test_lib',
152 'nlib_target': 'libppapi_test_lib.a',
153 'nso_target': 'libppapi_test_lib.so',
156 'build_pnacl_newlib': 1,
157 'nexe_destination_dir': 'nacl_test_data',
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/testable_callback.cc',
164 '../../../../ppapi/native_client/tests/ppapi_test_lib/test_interface.cc',
168 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
172 'target_name': 'ppapi_progress_events',
175 'nexe_target': 'ppapi_progress_events',
178 'build_pnacl_newlib': 1,
179 'nexe_destination_dir': 'nacl_test_data',
187 'progress_events/ppapi_progress_events.cc',
190 'progress_events/ppapi_progress_events.html',
194 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
195 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
196 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
197 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
198 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
203 'target_name': 'ppapi_bad_ppp_initialize',
206 'nexe_target': 'ppapi_bad_ppp_initialize',
209 'build_pnacl_newlib': 0,
210 'nexe_destination_dir': 'nacl_test_data',
217 'bad/ppapi_bad_ppp_initialize.cc',
221 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
222 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
223 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
224 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
228 'target_name': 'ppapi_bad_ppp_initialize_crash',
231 'nexe_target': 'ppapi_bad_ppp_initialize_crash',
234 'build_pnacl_newlib': 0,
235 'nexe_destination_dir': 'nacl_test_data',
242 'bad/ppapi_bad_ppp_initialize_crash.cc',
246 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
247 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
248 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
249 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
253 'target_name': 'ppapi_bad_no_ppp_instance',
256 'nexe_target': 'ppapi_bad_no_ppp_instance',
259 'build_pnacl_newlib': 0,
260 'nexe_destination_dir': 'nacl_test_data',
267 'bad/ppapi_bad_no_ppp_instance.cc',
271 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
272 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
273 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
274 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
278 'target_name': 'ppapi_bad_get_ppp_instance_crash',
281 'nexe_target': 'ppapi_bad_get_ppp_instance_crash',
284 'build_pnacl_newlib': 0,
285 'nexe_destination_dir': 'nacl_test_data',
292 'bad/ppapi_bad_get_ppp_instance_crash.cc',
296 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
297 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
298 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
299 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
303 'target_name': 'ppapi_bad_ppp_instance_didcreate',
306 'nexe_target': 'ppapi_bad_ppp_instance_didcreate',
309 'build_pnacl_newlib': 0,
310 'nexe_destination_dir': 'nacl_test_data',
317 'bad/ppapi_bad_ppp_instance_didcreate.cc',
321 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
322 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
323 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
324 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
328 'target_name': 'ppapi_bad_ppp_instance_didcreate_crash',
331 'nexe_target': 'ppapi_bad_ppp_instance_didcreate_crash',
334 'build_pnacl_newlib': 0,
335 'nexe_destination_dir': 'nacl_test_data',
342 'bad/ppapi_bad_ppp_instance_didcreate_crash.cc',
346 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
347 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
348 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
349 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
353 'target_name': 'ppapi_crash_via_check_failure',
356 'nexe_target': 'ppapi_crash_via_check_failure',
359 'build_pnacl_newlib': 1,
360 'nexe_destination_dir': 'nacl_test_data',
368 'crash/ppapi_crash_via_check_failure.cc',
372 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
373 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
374 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
375 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
376 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
381 'target_name': 'ppapi_crash_via_exit_call',
384 'nexe_target': 'ppapi_crash_via_exit_call',
387 'build_pnacl_newlib': 1,
388 'nexe_destination_dir': 'nacl_test_data',
396 'crash/ppapi_crash_via_exit_call.cc',
400 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
401 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
402 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
403 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
404 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
409 'target_name': 'ppapi_crash_in_callback',
412 'nexe_target': 'ppapi_crash_in_callback',
415 'build_pnacl_newlib': 1,
416 'nexe_destination_dir': 'nacl_test_data',
424 'crash/ppapi_crash_in_callback.cc',
428 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
429 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
430 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
431 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
432 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
437 'target_name': 'ppapi_crash_off_main_thread',
440 'nexe_target': 'ppapi_crash_off_main_thread',
443 'build_pnacl_newlib': 1,
444 'nexe_destination_dir': 'nacl_test_data',
452 'crash/ppapi_crash_off_main_thread.cc',
456 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
457 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
458 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
459 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
460 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
465 'target_name': 'ppapi_crash_ppapi_off_main_thread',
468 'nexe_target': 'ppapi_crash_ppapi_off_main_thread',
471 'build_pnacl_newlib': 1,
472 'nexe_destination_dir': 'nacl_test_data',
480 'crash/ppapi_crash_ppapi_off_main_thread.cc',
484 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
485 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
486 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
487 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
488 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
493 'target_name': 'irt_manifest_file',
496 'nexe_target': 'irt_manifest_file',
498 # Linking problems - can't find __nacl_irt_query.
500 # TODO(ncbray) support file injection into PNaCl manifest.
501 'build_pnacl_newlib': 0,
502 'nexe_destination_dir': 'nacl_test_data',
512 'manifest_file/irt_manifest_file_test.cc',
514 'create_nmf_args_portable': [
515 '-xtest_file:test_file.txt',
516 '-xnmf says hello world:test_file.txt',
517 # There is no dummy_test_file.txt file intentionally. This is just for
518 # a test case where there is a manifest entry, but no actual file.
519 '-xdummy_test_file:dummy_test_file.txt',
522 'manifest_file/irt_manifest_file_test.html',
526 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
527 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
528 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
529 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
530 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
531 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
532 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib',
533 '<(DEPTH)/native_client/src/trusted/weak_ref/weak_ref.gyp:weak_ref_lib',
536 # These are needed to build a non-SFI nexe binary.
537 # Note that these trigger building nexe files for other
538 # architectures, such as x86-32 (based on enable_XXX variables).
539 # As described above, although the tests for pnacl are currently
540 # disabled, but building the binary should work.
541 # We cannot disable building, as enable_XXX variables are also used
542 # to build newlib linked nexes.
543 ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
544 # Enable nonsfi testing on ia32-linux environment.
546 'build_pnacl_newlib': 1,
547 'translate_pexe_with_build': 1,
548 'enable_x86_32_nonsfi': 1,
551 ['target_arch=="arm" and OS=="linux"', {
552 # Enable nonsfi testing on arm-linux environment.
554 'build_pnacl_newlib': 1,
555 'translate_pexe_with_build': 1,
556 'enable_arm_nonsfi': 1,
562 'target_name': 'irt_exception_test',
565 'nexe_target': 'irt_exception_test',
568 'nexe_destination_dir': 'nacl_test_data',
569 'build_pnacl_newlib': 1,
578 'irt_exception/irt_exception_test.cc',
581 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
583 'irt_exception/irt_exception_test.html',
587 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
588 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
589 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
590 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_lib',
591 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
592 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:aot',
593 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
597 ['(target_arch=="ia32" or target_arch=="x64") and OS=="linux"', {
598 # Enable nonsfi testing on ia32-linux environment.
600 'enable_x86_32_nonsfi': 1,
601 'translate_pexe_with_build': 1,
604 ['target_arch=="arm" and OS=="linux"', {
605 # Enable nonsfi testing on arm-linux environment.
607 'enable_arm_nonsfi': 1,
608 'translate_pexe_with_build': 1,
614 'target_name': 'ppapi_extension_mime_handler',
617 'nexe_target': 'ppapi_extension_mime_handler',
620 'build_pnacl_newlib': 0,
621 'nexe_destination_dir': 'nacl_test_data',
629 'extension_mime_handler/ppapi_extension_mime_handler.cc',
632 'extension_mime_handler/ppapi_extension_mime_handler.html',
633 'extension_mime_handler/mime_test_data.dat',
634 # For faking the file's MIME type.
635 'extension_mime_handler/mime_test_data.dat.mock-http-headers',
636 # Turns the test data directory into an extension. Hackish.
637 # Note that the .nexe names are embedded in this file.
638 'extension_mime_handler/manifest.json',
642 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
643 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
644 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
645 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
650 'target_name': 'pnacl_debug_url_test',
653 'nexe_target': 'pnacl_debug_url',
654 'build_pnacl_newlib': 1,
655 'nexe_destination_dir': 'nacl_test_data',
661 'pnacl_debug_url/pnacl_debug_url.html',
662 'pnacl_debug_url/pnacl_has_debug.nmf',
663 'pnacl_debug_url/pnacl_has_debug_flag_off.nmf',
664 'pnacl_debug_url/pnacl_no_debug.nmf',
668 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
672 'target_name': 'pnacl_error_handling_test',
675 'build_pnacl_newlib': 1,
676 'nexe_destination_dir': 'nacl_test_data',
677 # Use prebuilt NMF files.
680 'pnacl_error_handling/pnacl_error_handling.html',
681 'pnacl_error_handling/bad.pexe',
682 'pnacl_error_handling/pnacl_bad_pexe.nmf',
683 'pnacl_error_handling/pnacl_bad_doesnotexist.nmf',
684 'pnacl_error_handling/pnacl_illformed_manifest.nmf',
688 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
692 'target_name': 'pnacl_mime_type_test',
697 'build_pnacl_newlib': 1,
698 'nexe_destination_dir': 'nacl_test_data',
700 'pnacl_mime_type/pnacl_mime_type.html',
705 'target_name': 'pnacl_options_test',
708 'nexe_target': 'pnacl_options',
709 'build_pnacl_newlib': 1,
710 'nexe_destination_dir': 'nacl_test_data',
716 'pnacl_nmf_options/pnacl_options.html',
717 'pnacl_nmf_options/pnacl_o_0.nmf',
718 'pnacl_nmf_options/pnacl_o_2.nmf',
719 'pnacl_nmf_options/pnacl_o_large.nmf',
723 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
727 'target_name': 'pnacl_dyncode_syscall_disabled_test',
730 'nexe_target': 'pnacl_dyncode_syscall_disabled',
731 'build_pnacl_newlib': 1,
732 'nexe_destination_dir': 'nacl_test_data',
738 # The "_private" variant of the library calls the syscalls
739 # directly, which allows us to test the syscalls directly,
740 # even when the dyncode IRT interface is also disabled under
742 '-lnacl_dyncode_private',
745 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.cc',
748 'pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.html',
752 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
753 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
754 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_dyncode_private_lib',
755 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
756 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
757 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
762 'target_name': 'pnacl_hw_eh_disabled_test',
765 'nexe_target': 'pnacl_hw_eh_disabled',
766 'build_pnacl_newlib': 1,
767 'nexe_destination_dir': 'nacl_test_data',
773 # The "_private" variant of the library calls the syscalls
774 # directly, which allows us to test the syscalls directly,
775 # even when the exception-handling IRT interface is also
776 # disabled under PNaCl.
777 '-lnacl_exception_private',
780 'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.cc',
783 'pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.html',
787 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
788 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
789 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_exception_private_lib',
790 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
791 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
792 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
796 # Legacy NaCl PPAPI interface tests being here.
798 'target_name': 'ppapi_ppb_core',
801 'nexe_target': 'ppapi_ppb_core',
804 'build_pnacl_newlib': 1,
805 'nexe_destination_dir': 'nacl_test_data',
813 'ppapi/ppb_core/ppapi_ppb_core.cc',
816 'ppapi/ppb_core/ppapi_ppb_core.html',
820 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
821 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
822 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
823 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
824 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
829 'target_name': 'ppapi_ppb_instance',
832 'nexe_target': 'ppapi_ppb_instance',
835 'build_pnacl_newlib': 1,
836 'nexe_destination_dir': 'nacl_test_data',
844 'ppapi/ppb_instance/ppapi_ppb_instance.cc',
847 'ppapi/ppb_instance/ppapi_ppb_instance.html',
851 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
852 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
853 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
854 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
855 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
860 'target_name': 'ppapi_ppp_instance',
863 'nexe_target': 'ppapi_ppp_instance',
866 'build_pnacl_newlib': 1,
867 'nexe_destination_dir': 'nacl_test_data',
875 'ppapi/ppp_instance/ppapi_ppp_instance.cc',
878 'ppapi/ppp_instance/ppapi_ppp_instance.html',
879 'ppapi/ppp_instance/ppapi_ppp_instance.js',
883 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
884 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform_lib',
885 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio_lib',
886 '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib',
887 '<(DEPTH)/ppapi/ppapi_nacl.gyp:ppapi_cpp_lib',
893 ['target_arch!="arm"', {
894 # Source file does not have asm for ARM.
897 'target_name': 'partly_invalid',
900 'nexe_target': 'partly_invalid',
903 'build_pnacl_newlib': 0,
904 'nexe_destination_dir': 'nacl_test_data',
906 '<(DEPTH)/native_client/tests/stubout_mode/partly_invalid.c',
909 ['target_arch=="mipsel"', {
913 '--pnacl-allow-translate',
916 '--pnacl-allow-native',
922 '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
928 # Tests for non-SFI mode.
932 'target_name': 'nonsfi_libc_free_nexe',
933 'type': 'executable',
934 'product_name': '>(nexe_destination_dir)/libc_free_>(arch_suffix)',
935 'product_extension': 'nexe',
937 'arch_suffix': '<(target_arch)',
938 # This is needed, because NaCl's target_default rule is
939 # automatically applied to all the targets in this file, and it
940 # requires nexe_destination_dir, even if it is not important.
941 'nexe_destination_dir': 'nacl_test_data/libc-free',
944 'nonsfi/libc_free.c',
946 # Here, we would like to link a relocatable, libc-free executable.
947 # -shared/-fPIC make this binary relocatable. -nostdlib ensures
949 # The program does not apply any dynamic relocations at start up,
950 # so it cannot rely on relocations having been applied.
951 # In addition, -fvisibility=hidden avoids creating some types
955 '-fvisibility=hidden',
957 # Stack-Smashing protector does not work with libc-free context.
958 '-fno-stack-protector',
959 # Optimizers may translate the original code to code which
960 # requires builtin functions and/or relocations. Specifically,
961 # the LLVM's optimizer translates for-loop based zero
966 # We filter these out because release_extra_cflags or another
967 # such thing might be adding them in, and those options wind up
968 # coming after the -fno-stack-protector we added above.
970 '-fstack-protector-all',
971 '-fprofile-generate',
972 '-finstrument-functions',
973 # ARM GCC emits symbols like __aeabi_unwind_cpp_pr0 in
974 # .exidx sections with this flag.
980 # This binary cannot relocate itself, so we should have no
981 # undefined references left.
982 '-Wl,--no-undefined',
985 # Explicitly remove the -pthread flag to avoid a link time warning.
988 # Do not use any sanitizers tools, which require a few symbols.
990 ['exclude', '-fsanitize'],
991 ['exclude', '^-O'], # Strip -O2, -Os etc.
994 ['exclude', '-fsanitize'],
997 # The code depends on NaCl's headers. This is a macro for them.
1000 # For native_client/src/include/...
1005 # Overwrite suffix for x64 and ia32 to align NaCl's naming
1007 ['target_arch=="x64"', {
1009 'arch_suffix': 'x86_64',
1012 ['target_arch=="ia32"', {
1014 'arch_suffix': 'x86_32',
1020 'target_name': 'nonsfi_libc_free',
1023 'nexe_destination_dir': 'nacl_test_data',
1024 'destination_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/libc-free',
1026 # TODO(ncbray) move into chrome/test/data/nacl when all tests are
1028 '<(DEPTH)/ppapi/native_client/tools/browser_tester/browserdata/nacltest.js',
1029 'nonsfi/libc_free.html',
1030 'nonsfi/libc_free.nmf',
1031 'nonsfi/irt_test.html',
1035 'nonsfi_libc_free_nexe',
1037 # Because we are still under development for non-SFI mode, the
1038 # toolchain is not yet ready, which means ppapi_nacl_common does not
1039 # work well for non-SFI mode yet. Instead, we manually set up the
1040 # testing environment here.
1043 'destination': '>(destination_dir)',