Bug 1305970 - land NSS 0x0cccc59d04dd, r=me

--HG--
rename : security/nss/external_tests/.clang-format => security/nss/gtests/.clang-format
rename : security/nss/external_tests/Makefile => security/nss/gtests/Makefile
rename : security/nss/external_tests/README => security/nss/gtests/README
rename : security/nss/external_tests/common/Makefile => security/nss/gtests/common/Makefile
rename : security/nss/external_tests/common/gtest.mk => security/nss/gtests/common/gtest.mk
rename : security/nss/external_tests/common/gtests.cc => security/nss/gtests/common/gtests.cc
rename : security/nss/external_tests/common/scoped_ptrs.h => security/nss/gtests/common/scoped_ptrs.h
rename : security/nss/external_tests/der_gtest/Makefile => security/nss/gtests/der_gtest/Makefile
rename : security/nss/external_tests/der_gtest/der_getint_unittest.cc => security/nss/gtests/der_gtest/der_getint_unittest.cc
rename : security/nss/external_tests/der_gtest/der_private_key_import_unittest.cc => security/nss/gtests/der_gtest/der_private_key_import_unittest.cc
rename : security/nss/external_tests/google_test/Makefile => security/nss/gtests/google_test/Makefile
rename : security/nss/external_tests/google_test/google_test.gyp => security/nss/gtests/google_test/google_test.gyp
rename : security/nss/external_tests/google_test/gtest/CHANGES => security/nss/gtests/google_test/gtest/CHANGES
rename : security/nss/external_tests/google_test/gtest/CMakeLists.txt => security/nss/gtests/google_test/gtest/CMakeLists.txt
rename : security/nss/external_tests/google_test/gtest/CONTRIBUTORS => security/nss/gtests/google_test/gtest/CONTRIBUTORS
rename : security/nss/external_tests/google_test/gtest/LICENSE => security/nss/gtests/google_test/gtest/LICENSE
rename : security/nss/external_tests/google_test/gtest/Makefile.am => security/nss/gtests/google_test/gtest/Makefile.am
rename : security/nss/external_tests/google_test/gtest/README => security/nss/gtests/google_test/gtest/README
rename : security/nss/external_tests/google_test/gtest/cmake/internal_utils.cmake => security/nss/gtests/google_test/gtest/cmake/internal_utils.cmake
rename : security/nss/external_tests/google_test/gtest/codegear/gtest.cbproj => security/nss/gtests/google_test/gtest/codegear/gtest.cbproj
rename : security/nss/external_tests/google_test/gtest/codegear/gtest.groupproj => security/nss/gtests/google_test/gtest/codegear/gtest.groupproj
rename : security/nss/external_tests/google_test/gtest/codegear/gtest_all.cc => security/nss/gtests/google_test/gtest/codegear/gtest_all.cc
rename : security/nss/external_tests/google_test/gtest/codegear/gtest_link.cc => security/nss/gtests/google_test/gtest/codegear/gtest_link.cc
rename : security/nss/external_tests/google_test/gtest/codegear/gtest_main.cbproj => security/nss/gtests/google_test/gtest/codegear/gtest_main.cbproj
rename : security/nss/external_tests/google_test/gtest/codegear/gtest_unittest.cbproj => security/nss/gtests/google_test/gtest/codegear/gtest_unittest.cbproj
rename : security/nss/external_tests/google_test/gtest/configure.ac => security/nss/gtests/google_test/gtest/configure.ac
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-death-test.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-death-test.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-message.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-message.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-param-test.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-param-test.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-param-test.h.pump => security/nss/gtests/google_test/gtest/include/gtest/gtest-param-test.h.pump
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-printers.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-printers.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-spi.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-spi.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-test-part.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-test-part.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest-typed-test.h => security/nss/gtests/google_test/gtest/include/gtest/gtest-typed-test.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest.h => security/nss/gtests/google_test/gtest/include/gtest/gtest.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest_pred_impl.h => security/nss/gtests/google_test/gtest/include/gtest/gtest_pred_impl.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/gtest_prod.h => security/nss/gtests/google_test/gtest/include/gtest/gtest_prod.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-death-test-internal.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-death-test-internal.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-filepath.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-filepath.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-internal.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-internal.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-linked_ptr.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-linked_ptr.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-param-util-generated.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-param-util-generated.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-param-util.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-param-util.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-port.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-port.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-string.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-string.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-tuple.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-tuple.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-tuple.h.pump => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-tuple.h.pump
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-type-util.h => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-type-util.h
rename : security/nss/external_tests/google_test/gtest/include/gtest/internal/gtest-type-util.h.pump => security/nss/gtests/google_test/gtest/include/gtest/internal/gtest-type-util.h.pump
rename : security/nss/external_tests/google_test/gtest/m4/acx_pthread.m4 => security/nss/gtests/google_test/gtest/m4/acx_pthread.m4
rename : security/nss/external_tests/google_test/gtest/m4/gtest.m4 => security/nss/gtests/google_test/gtest/m4/gtest.m4
rename : security/nss/external_tests/google_test/gtest/make/Makefile => security/nss/gtests/google_test/gtest/make/Makefile
rename : security/nss/external_tests/google_test/gtest/msvc/gtest-md.sln => security/nss/gtests/google_test/gtest/msvc/gtest-md.sln
rename : security/nss/external_tests/google_test/gtest/msvc/gtest-md.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest-md.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest.sln => security/nss/gtests/google_test/gtest/msvc/gtest.sln
rename : security/nss/external_tests/google_test/gtest/msvc/gtest.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_main-md.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_main-md.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_main.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_main.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_prod_test-md.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_prod_test-md.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_prod_test.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_prod_test.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_unittest-md.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_unittest-md.vcproj
rename : security/nss/external_tests/google_test/gtest/msvc/gtest_unittest.vcproj => security/nss/gtests/google_test/gtest/msvc/gtest_unittest.vcproj
rename : security/nss/external_tests/google_test/gtest/samples/prime_tables.h => security/nss/gtests/google_test/gtest/samples/prime_tables.h
rename : security/nss/external_tests/google_test/gtest/samples/sample1.cc => security/nss/gtests/google_test/gtest/samples/sample1.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample1.h => security/nss/gtests/google_test/gtest/samples/sample1.h
rename : security/nss/external_tests/google_test/gtest/samples/sample10_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample10_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample1_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample1_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample2.cc => security/nss/gtests/google_test/gtest/samples/sample2.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample2.h => security/nss/gtests/google_test/gtest/samples/sample2.h
rename : security/nss/external_tests/google_test/gtest/samples/sample2_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample2_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample3-inl.h => security/nss/gtests/google_test/gtest/samples/sample3-inl.h
rename : security/nss/external_tests/google_test/gtest/samples/sample3_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample3_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample4.cc => security/nss/gtests/google_test/gtest/samples/sample4.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample4.h => security/nss/gtests/google_test/gtest/samples/sample4.h
rename : security/nss/external_tests/google_test/gtest/samples/sample4_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample4_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample5_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample5_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample6_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample6_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample7_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample7_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample8_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample8_unittest.cc
rename : security/nss/external_tests/google_test/gtest/samples/sample9_unittest.cc => security/nss/gtests/google_test/gtest/samples/sample9_unittest.cc
rename : security/nss/external_tests/google_test/gtest/scripts/common.py => security/nss/gtests/google_test/gtest/scripts/common.py
rename : security/nss/external_tests/google_test/gtest/scripts/fuse_gtest_files.py => security/nss/gtests/google_test/gtest/scripts/fuse_gtest_files.py
rename : security/nss/external_tests/google_test/gtest/scripts/gen_gtest_pred_impl.py => security/nss/gtests/google_test/gtest/scripts/gen_gtest_pred_impl.py
rename : security/nss/external_tests/google_test/gtest/scripts/gtest-config.in => security/nss/gtests/google_test/gtest/scripts/gtest-config.in
rename : security/nss/external_tests/google_test/gtest/scripts/pump.py => security/nss/gtests/google_test/gtest/scripts/pump.py
rename : security/nss/external_tests/google_test/gtest/scripts/release_docs.py => security/nss/gtests/google_test/gtest/scripts/release_docs.py
rename : security/nss/external_tests/google_test/gtest/scripts/test/Makefile => security/nss/gtests/google_test/gtest/scripts/test/Makefile
rename : security/nss/external_tests/google_test/gtest/scripts/upload.py => security/nss/gtests/google_test/gtest/scripts/upload.py
rename : security/nss/external_tests/google_test/gtest/scripts/upload_gtest.py => security/nss/gtests/google_test/gtest/scripts/upload_gtest.py
rename : security/nss/external_tests/google_test/gtest/src/gtest-all.cc => security/nss/gtests/google_test/gtest/src/gtest-all.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-death-test.cc => security/nss/gtests/google_test/gtest/src/gtest-death-test.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-filepath.cc => security/nss/gtests/google_test/gtest/src/gtest-filepath.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-internal-inl.h => security/nss/gtests/google_test/gtest/src/gtest-internal-inl.h
rename : security/nss/external_tests/google_test/gtest/src/gtest-port.cc => security/nss/gtests/google_test/gtest/src/gtest-port.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-printers.cc => security/nss/gtests/google_test/gtest/src/gtest-printers.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-test-part.cc => security/nss/gtests/google_test/gtest/src/gtest-test-part.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest-typed-test.cc => security/nss/gtests/google_test/gtest/src/gtest-typed-test.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest.cc => security/nss/gtests/google_test/gtest/src/gtest.cc
rename : security/nss/external_tests/google_test/gtest/src/gtest_main.cc => security/nss/gtests/google_test/gtest/src/gtest_main.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-death-test_ex_test.cc => security/nss/gtests/google_test/gtest/test/gtest-death-test_ex_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-death-test_test.cc => security/nss/gtests/google_test/gtest/test/gtest-death-test_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-filepath_test.cc => security/nss/gtests/google_test/gtest/test/gtest-filepath_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-linked_ptr_test.cc => security/nss/gtests/google_test/gtest/test/gtest-linked_ptr_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-listener_test.cc => security/nss/gtests/google_test/gtest/test/gtest-listener_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-message_test.cc => security/nss/gtests/google_test/gtest/test/gtest-message_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-options_test.cc => security/nss/gtests/google_test/gtest/test/gtest-options_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-param-test2_test.cc => security/nss/gtests/google_test/gtest/test/gtest-param-test2_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-param-test_test.cc => security/nss/gtests/google_test/gtest/test/gtest-param-test_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-param-test_test.h => security/nss/gtests/google_test/gtest/test/gtest-param-test_test.h
rename : security/nss/external_tests/google_test/gtest/test/gtest-port_test.cc => security/nss/gtests/google_test/gtest/test/gtest-port_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-printers_test.cc => security/nss/gtests/google_test/gtest/test/gtest-printers_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-test-part_test.cc => security/nss/gtests/google_test/gtest/test/gtest-test-part_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-tuple_test.cc => security/nss/gtests/google_test/gtest/test/gtest-tuple_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-typed-test2_test.cc => security/nss/gtests/google_test/gtest/test/gtest-typed-test2_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-typed-test_test.cc => security/nss/gtests/google_test/gtest/test/gtest-typed-test_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest-typed-test_test.h => security/nss/gtests/google_test/gtest/test/gtest-typed-test_test.h
rename : security/nss/external_tests/google_test/gtest/test/gtest-unittest-api_test.cc => security/nss/gtests/google_test/gtest/test/gtest-unittest-api_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_all_test.cc => security/nss/gtests/google_test/gtest/test/gtest_all_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_break_on_failure_unittest.py => security/nss/gtests/google_test/gtest/test/gtest_break_on_failure_unittest.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_break_on_failure_unittest_.cc => security/nss/gtests/google_test/gtest/test/gtest_break_on_failure_unittest_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_catch_exceptions_test.py => security/nss/gtests/google_test/gtest/test/gtest_catch_exceptions_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_catch_exceptions_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_catch_exceptions_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_color_test.py => security/nss/gtests/google_test/gtest/test/gtest_color_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_color_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_color_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_env_var_test.py => security/nss/gtests/google_test/gtest/test/gtest_env_var_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_env_var_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_env_var_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_environment_test.cc => security/nss/gtests/google_test/gtest/test/gtest_environment_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_filter_unittest.py => security/nss/gtests/google_test/gtest/test/gtest_filter_unittest.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_filter_unittest_.cc => security/nss/gtests/google_test/gtest/test/gtest_filter_unittest_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_help_test.py => security/nss/gtests/google_test/gtest/test/gtest_help_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_help_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_help_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_list_tests_unittest.py => security/nss/gtests/google_test/gtest/test/gtest_list_tests_unittest.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_list_tests_unittest_.cc => security/nss/gtests/google_test/gtest/test/gtest_list_tests_unittest_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_main_unittest.cc => security/nss/gtests/google_test/gtest/test/gtest_main_unittest.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_no_test_unittest.cc => security/nss/gtests/google_test/gtest/test/gtest_no_test_unittest.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_output_test.py => security/nss/gtests/google_test/gtest/test/gtest_output_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_output_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_output_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_output_test_golden_lin.txt => security/nss/gtests/google_test/gtest/test/gtest_output_test_golden_lin.txt
rename : security/nss/external_tests/google_test/gtest/test/gtest_pred_impl_unittest.cc => security/nss/gtests/google_test/gtest/test/gtest_pred_impl_unittest.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_premature_exit_test.cc => security/nss/gtests/google_test/gtest/test/gtest_premature_exit_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_prod_test.cc => security/nss/gtests/google_test/gtest/test/gtest_prod_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_repeat_test.cc => security/nss/gtests/google_test/gtest/test/gtest_repeat_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_shuffle_test.py => security/nss/gtests/google_test/gtest/test/gtest_shuffle_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_shuffle_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_shuffle_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_sole_header_test.cc => security/nss/gtests/google_test/gtest/test/gtest_sole_header_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_stress_test.cc => security/nss/gtests/google_test/gtest/test/gtest_stress_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_test_utils.py => security/nss/gtests/google_test/gtest/test/gtest_test_utils.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_throw_on_failure_ex_test.cc => security/nss/gtests/google_test/gtest/test/gtest_throw_on_failure_ex_test.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_throw_on_failure_test.py => security/nss/gtests/google_test/gtest/test/gtest_throw_on_failure_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_throw_on_failure_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_throw_on_failure_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_uninitialized_test.py => security/nss/gtests/google_test/gtest/test/gtest_uninitialized_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_uninitialized_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_uninitialized_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_unittest.cc => security/nss/gtests/google_test/gtest/test/gtest_unittest.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_outfile1_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_xml_outfile1_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_outfile2_test_.cc => security/nss/gtests/google_test/gtest/test/gtest_xml_outfile2_test_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_outfiles_test.py => security/nss/gtests/google_test/gtest/test/gtest_xml_outfiles_test.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_output_unittest.py => security/nss/gtests/google_test/gtest/test/gtest_xml_output_unittest.py
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_output_unittest_.cc => security/nss/gtests/google_test/gtest/test/gtest_xml_output_unittest_.cc
rename : security/nss/external_tests/google_test/gtest/test/gtest_xml_test_utils.py => security/nss/gtests/google_test/gtest/test/gtest_xml_test_utils.py
rename : security/nss/external_tests/google_test/gtest/test/production.cc => security/nss/gtests/google_test/gtest/test/production.cc
rename : security/nss/external_tests/google_test/gtest/test/production.h => security/nss/gtests/google_test/gtest/test/production.h
rename : security/nss/external_tests/google_test/gtest/xcode/Config/DebugProject.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/DebugProject.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Config/FrameworkTarget.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/FrameworkTarget.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Config/General.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/General.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Config/ReleaseProject.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/ReleaseProject.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Config/StaticLibraryTarget.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/StaticLibraryTarget.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Config/TestTarget.xcconfig => security/nss/gtests/google_test/gtest/xcode/Config/TestTarget.xcconfig
rename : security/nss/external_tests/google_test/gtest/xcode/Resources/Info.plist => security/nss/gtests/google_test/gtest/xcode/Resources/Info.plist
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/Info.plist => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/Info.plist
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/runtests.sh => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/runtests.sh
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/widget.cc => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/widget.cc
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/widget.h => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/widget.h
rename : security/nss/external_tests/google_test/gtest/xcode/Samples/FrameworkSample/widget_test.cc => security/nss/gtests/google_test/gtest/xcode/Samples/FrameworkSample/widget_test.cc
rename : security/nss/external_tests/google_test/gtest/xcode/Scripts/runtests.sh => security/nss/gtests/google_test/gtest/xcode/Scripts/runtests.sh
rename : security/nss/external_tests/google_test/gtest/xcode/Scripts/versiongenerate.py => security/nss/gtests/google_test/gtest/xcode/Scripts/versiongenerate.py
rename : security/nss/external_tests/google_test/gtest/xcode/gtest.xcodeproj/project.pbxproj => security/nss/gtests/google_test/gtest/xcode/gtest.xcodeproj/project.pbxproj
rename : security/nss/external_tests/google_test/manifest.mn => security/nss/gtests/google_test/manifest.mn
rename : security/nss/external_tests/manifest.mn => security/nss/gtests/manifest.mn
rename : security/nss/external_tests/nss_bogo_shim/Makefile => security/nss/gtests/nss_bogo_shim/Makefile
rename : security/nss/external_tests/nss_bogo_shim/config.cc => security/nss/gtests/nss_bogo_shim/config.cc
rename : security/nss/external_tests/nss_bogo_shim/config.h => security/nss/gtests/nss_bogo_shim/config.h
rename : security/nss/external_tests/nss_bogo_shim/config.json => security/nss/gtests/nss_bogo_shim/config.json
rename : security/nss/external_tests/nss_bogo_shim/manifest.mn => security/nss/gtests/nss_bogo_shim/manifest.mn
rename : security/nss/external_tests/nss_bogo_shim/nss_bogo_shim.cc => security/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc
rename : security/nss/external_tests/nss_bogo_shim/nsskeys.cc => security/nss/gtests/nss_bogo_shim/nsskeys.cc
rename : security/nss/external_tests/nss_bogo_shim/nsskeys.h => security/nss/gtests/nss_bogo_shim/nsskeys.h
rename : security/nss/external_tests/der_gtest/Makefile => security/nss/gtests/pk11_gtest/Makefile
rename : security/nss/external_tests/pk11_gtest/pk11_aeskeywrap_unittest.cc => security/nss/gtests/pk11_gtest/pk11_aeskeywrap_unittest.cc
rename : security/nss/external_tests/pk11_gtest/pk11_chacha20poly1305_unittest.cc => security/nss/gtests/pk11_gtest/pk11_chacha20poly1305_unittest.cc
rename : security/nss/external_tests/pk11_gtest/pk11_export_unittest.cc => security/nss/gtests/pk11_gtest/pk11_export_unittest.cc
rename : security/nss/external_tests/pk11_gtest/pk11_pbkdf2_unittest.cc => security/nss/gtests/pk11_gtest/pk11_pbkdf2_unittest.cc
rename : security/nss/external_tests/pk11_gtest/pk11_prf_unittest.cc => security/nss/gtests/pk11_gtest/pk11_prf_unittest.cc
rename : security/nss/external_tests/pk11_gtest/pk11_rsapss_unittest.cc => security/nss/gtests/pk11_gtest/pk11_rsapss_unittest.cc
rename : security/nss/external_tests/ssl_gtest/Makefile => security/nss/gtests/ssl_gtest/Makefile
rename : security/nss/external_tests/ssl_gtest/databuffer.h => security/nss/gtests/ssl_gtest/databuffer.h
rename : security/nss/external_tests/ssl_gtest/gtest_utils.h => security/nss/gtests/ssl_gtest/gtest_utils.h
rename : security/nss/external_tests/ssl_gtest/libssl_internals.c => security/nss/gtests/ssl_gtest/libssl_internals.c
rename : security/nss/external_tests/ssl_gtest/libssl_internals.h => security/nss/gtests/ssl_gtest/libssl_internals.h
rename : security/nss/external_tests/ssl_gtest/ssl_0rtt_unittest.cc => security/nss/gtests/ssl_gtest/ssl_0rtt_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_agent_unittest.cc => security/nss/gtests/ssl_gtest/ssl_agent_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_auth_unittest.cc => security/nss/gtests/ssl_gtest/ssl_auth_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_cert_ext_unittest.cc => security/nss/gtests/ssl_gtest/ssl_cert_ext_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_ciphersuite_unittest.cc => security/nss/gtests/ssl_gtest/ssl_ciphersuite_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_damage_unittest.cc => security/nss/gtests/ssl_gtest/ssl_damage_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_dhe_unittest.cc => security/nss/gtests/ssl_gtest/ssl_dhe_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_drop_unittest.cc => security/nss/gtests/ssl_gtest/ssl_drop_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_ecdh_unittest.cc => security/nss/gtests/ssl_gtest/ssl_ecdh_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_ems_unittest.cc => security/nss/gtests/ssl_gtest/ssl_ems_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_extension_unittest.cc => security/nss/gtests/ssl_gtest/ssl_extension_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_gtest.cc => security/nss/gtests/ssl_gtest/ssl_gtest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_hrr_unittest.cc => security/nss/gtests/ssl_gtest/ssl_hrr_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_loopback_unittest.cc => security/nss/gtests/ssl_gtest/ssl_loopback_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_record_unittest.cc => security/nss/gtests/ssl_gtest/ssl_record_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_resumption_unittest.cc => security/nss/gtests/ssl_gtest/ssl_resumption_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_skip_unittest.cc => security/nss/gtests/ssl_gtest/ssl_skip_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_staticrsa_unittest.cc => security/nss/gtests/ssl_gtest/ssl_staticrsa_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_v2_client_hello_unittest.cc => security/nss/gtests/ssl_gtest/ssl_v2_client_hello_unittest.cc
rename : security/nss/external_tests/ssl_gtest/ssl_version_unittest.cc => security/nss/gtests/ssl_gtest/ssl_version_unittest.cc
rename : security/nss/external_tests/ssl_gtest/test_io.cc => security/nss/gtests/ssl_gtest/test_io.cc
rename : security/nss/external_tests/ssl_gtest/test_io.h => security/nss/gtests/ssl_gtest/test_io.h
rename : security/nss/external_tests/ssl_gtest/tls_agent.cc => security/nss/gtests/ssl_gtest/tls_agent.cc
rename : security/nss/external_tests/ssl_gtest/tls_agent.h => security/nss/gtests/ssl_gtest/tls_agent.h
rename : security/nss/external_tests/ssl_gtest/tls_connect.cc => security/nss/gtests/ssl_gtest/tls_connect.cc
rename : security/nss/external_tests/ssl_gtest/tls_connect.h => security/nss/gtests/ssl_gtest/tls_connect.h
rename : security/nss/external_tests/ssl_gtest/tls_filter.cc => security/nss/gtests/ssl_gtest/tls_filter.cc
rename : security/nss/external_tests/ssl_gtest/tls_filter.h => security/nss/gtests/ssl_gtest/tls_filter.h
rename : security/nss/external_tests/ssl_gtest/tls_hkdf_unittest.cc => security/nss/gtests/ssl_gtest/tls_hkdf_unittest.cc
rename : security/nss/external_tests/ssl_gtest/tls_parser.cc => security/nss/gtests/ssl_gtest/tls_parser.cc
rename : security/nss/external_tests/ssl_gtest/tls_parser.h => security/nss/gtests/ssl_gtest/tls_parser.h
rename : security/nss/external_tests/util_gtest/Makefile => security/nss/gtests/util_gtest/Makefile
rename : security/nss/external_tests/util_gtest/util_utf8_unittest.cc => security/nss/gtests/util_gtest/util_utf8_unittest.cc
extra : rebase_source : 526ff9352caf7c59048807e9606388ac2240840e
This commit is contained in:
Franziskus Kiefer 2016-11-02 10:29:58 +01:00
Родитель a18bf77d4d
Коммит 41795a76c0
394 изменённых файлов: 32713 добавлений и 32971 удалений

Просмотреть файл

@ -27,7 +27,7 @@ include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
ifdef NSS_DISABLE_GTESTS
DIRS := $(filter-out external_tests,$(DIRS))
DIRS := $(filter-out gtests,$(DIRS))
endif
#######################################################################

Просмотреть файл

@ -1 +1 @@
3e7b53b18112
0cccc59d04dd

Просмотреть файл

@ -14,14 +14,10 @@ const WINDOWS_CHECKOUT_CMD =
/*****************************************************************************/
function isSanitizer(task) {
return task.collection == "asan" || task.collection == "ubsan";
}
queue.filter(task => {
if (task.group == "Builds") {
// Remove extra builds on {A,UB}San and ARM.
if (isSanitizer(task) || task.collection == "arm-debug") {
if (task.collection == "asan" || task.collection == "arm-debug") {
return false;
}
@ -30,11 +26,6 @@ queue.filter(task => {
(task.platform != "linux64" || task.collection != "debug")) {
return false;
}
// Remove extra builds on gyp builds (TODO: add when it supports CC/CCC).
if (task.collection == "gyp") {
return false;
}
}
if (task.tests == "bogo") {
@ -49,17 +40,11 @@ queue.filter(task => {
}
}
// Filter test suites that currently fail with UBSan.
if (task.collection == "ubsan" &&
["crmf", "cipher", "fips", "merge", "smime"].includes(task.tests)) {
return false;
}
return true;
});
queue.map(task => {
if (isSanitizer(task)) {
if (task.collection == "asan") {
// CRMF and FIPS tests still leak, unfortunately.
if (task.tests == "crmf" || task.tests == "fips") {
task.env.ASAN_OPTIONS = "detect_leaks=0";
@ -119,27 +104,13 @@ export default async function main() {
"-c",
"bin/checkout.sh && nss/automation/taskcluster/scripts/build_gyp.sh"
],
env: {USE_64: "1"},
env: {USE_64: "1"}, // This is only necessary for tests to work.
platform: "linux64",
collection: "gyp",
image: LINUX_IMAGE
});
await scheduleLinux("Linux 64 (ASan, debug)", {
env: {
NSS_DISABLE_ARENA_FREE_LIST: "1",
NSS_DISABLE_UNLOAD: "1",
CC: "clang",
CCC: "clang++",
USE_ASAN: "1",
USE_64: "1"
},
platform: "linux64",
collection: "asan",
image: LINUX_IMAGE
});
await scheduleLinux("Linux 64 (ASan+UBSan, debug)", {
env: {
UBSAN_OPTIONS: "print_stacktrace=1",
NSS_DISABLE_ARENA_FREE_LIST: "1",
@ -151,7 +122,7 @@ export default async function main() {
USE_64: "1"
},
platform: "linux64",
collection: "ubsan",
collection: "asan",
image: LINUX_IMAGE
});
@ -163,6 +134,8 @@ export default async function main() {
collection: "debug"
});
await scheduleFuzzing();
await scheduleTools();
await scheduleLinux("Linux 32 (ARM, debug)", {
@ -261,6 +234,65 @@ async function scheduleLinux(name, base) {
/*****************************************************************************/
async function scheduleFuzzing() {
let base = {
env: {
ASAN_OPTIONS: "allocator_may_return_null=1",
UBSAN_OPTIONS: "print_stacktrace=1",
CC: "clang",
CCC: "clang++",
USE_64: "1" // This is only necessary for tests to work.
},
platform: "linux64",
collection: "fuzz",
image: LINUX_IMAGE
};
// Build base definition.
let build_base = merge({
command: [
"/bin/bash",
"-c",
"bin/checkout.sh && " +
"nss/automation/taskcluster/scripts/build_gyp.sh -g -v --fuzz"
],
artifacts: {
public: {
expires: 24 * 7,
type: "directory",
path: "/home/worker/artifacts"
}
},
kind: "build",
symbol: "B"
}, base);
// The task that builds NSPR+NSS.
let task_build = queue.scheduleTask(merge(build_base, {
name: "Linux x64 (debug, fuzz)"
}));
// Schedule tests.
queue.scheduleTask(merge(base, {
parent: task_build,
name: "Gtests",
command: [
"/bin/bash",
"-c",
"bin/checkout.sh && nss/automation/taskcluster/scripts/run_tests.sh"
],
env: {GTESTFILTER: "*Fuzz*"},
symbol: "Gtest",
tests: "gtests",
cycle: "standard",
kind: "test"
}));
return queue.submit();
}
/*****************************************************************************/
async function scheduleWindows(name, base) {
base = merge(base, {
workerType: "nss-win2012r2",

Просмотреть файл

@ -22,7 +22,8 @@ function parseOptions(opts) {
}
// Parse platforms.
let allPlatforms = ["linux", "linux64", "linux64-asan", "win64", "arm", "linux64-gyp"];
let allPlatforms = ["linux", "linux64", "linux64-asan", "win64", "arm",
"linux64-gyp", "linux64-fuzz"];
let platforms = intersect(opts.platform.split(/\s*,\s*/), allPlatforms);
// If the given value is nonsense or "none" default to all platforms.
@ -101,6 +102,7 @@ function filter(opts) {
let aliases = {
"linux": "linux32",
"linux64-asan": "linux64",
"linux64-fuzz": "linux64",
"linux64-gyp": "linux64",
"win64": "windows2012-64",
"arm": "linux32"
@ -111,11 +113,13 @@ function filter(opts) {
// Additional checks.
if (platform == "linux64-asan") {
keep &= coll("asan") || coll("ubsan");
keep &= coll("asan");
} else if (platform == "arm") {
keep &= coll("arm-opt") || coll("arm-debug");
} else if (platform == "linux64-gyp") {
keep &= coll("gyp");
} else if (platform == "linux64-fuzz") {
keep &= coll("fuzz");
} else {
keep &= coll("opt") || coll("debug");
}
@ -128,7 +132,8 @@ function filter(opts) {
}
// Finally, filter by build type.
let isDebug = coll("debug") || coll("asan") || coll("ubsan") || coll("arm-debug") || coll("gyp");
let isDebug = coll("debug") || coll("asan") || coll("arm-debug") ||
coll("gyp") || coll("fuzz");
return (isDebug && opts.builds.includes("d")) ||
(!isDebug && opts.builds.includes("o"));
}

Просмотреть файл

@ -4,14 +4,14 @@ source $(dirname $0)/tools.sh
if [[ $(id -u) -eq 0 ]]; then
# Drop privileges by re-running this script.
exec su worker $0
exec su worker -c "$0 $*"
fi
# Clone NSPR if needed.
hg_clone https://hg.mozilla.org/projects/nspr nspr default
# Build.
nss/build.sh -g -v
nss/build.sh ${*--g -v}
# Package.
mkdir artifacts

Просмотреть файл

@ -19,6 +19,7 @@ else
top=$(dirname $0)/../../..
dirs=( \
"$top/cmd" \
"$top/fuzz" \
"$top/lib/base" \
"$top/lib/certdb" \
"$top/lib/certhigh" \
@ -28,16 +29,22 @@ else
"$top/lib/dbm" \
"$top/lib/dev" \
"$top/lib/freebl" \
"$top/lib/jar" \
"$top/lib/nss" \
"$top/lib/pk11wrap" \
"$top/lib/pkcs7" \
"$top/lib/pkcs12" \
"$top/lib/pki" \
"$top/lib/smime" \
"$top/lib/softoken" \
"$top/lib/ssl" \
"$top/lib/util" \
"$top/lib/sysinit" \
"$top/external_tests/common" \
"$top/external_tests/der_gtest" \
"$top/external_tests/pk11_gtest" \
"$top/external_tests/ssl_gtest" \
"$top/external_tests/util_gtest" \
"$top/lib/util" \
"$top/gtests/common" \
"$top/gtests/der_gtest" \
"$top/gtests/pk11_gtest" \
"$top/gtests/ssl_gtest" \
"$top/gtests/util_gtest" \
)
fi

Просмотреть файл

@ -23,8 +23,13 @@ declare -A scan=( \
[lib/base]=0 \
[lib/certdb]=0 \
[lib/certhigh]=0 \
[lib/ssl]=0 \
[lib/ckfw]=0 \
[lib/crmf]=0 \
[lib/cryptohi]=0 \
[lib/dev]=0 \
[lib/freebl]=0 \
[lib/nss]=0 \
[lib/ssl]=0 \
[lib/util]=0 \
)

Просмотреть файл

@ -1,18 +0,0 @@
#!/bin/bash
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Apply clang-format 3.8 on the provided folder and verify that this doesn't change any file.
# If any file differs after formatting, the script eventually exits with 1.
# Any differences between formatted and unformatted files is printed to stdout to give a hint what's wrong.
STATUS=0
for i in $(find $1 -type f -name '*.[ch]' -print); do
if ! clang-format-3.8 $i | diff $i -; then
echo "Sorry, $i is not formatted properly. Please use clang-format 3.8 on your patch before landing."
STATUS=1
fi
done
exit $STATUS

Просмотреть файл

@ -3,70 +3,129 @@
#
# This build system is still under development. It does not yet support all
# the features or platforms that NSS supports.
#
# -c = clean before build
# -g = force a rebuild of gyp (and NSPR, because why not)
# -v = verbose build
# --test = ignore map files and export everything we have
set -e
CWD=$(cd $(dirname $0); pwd -P)
OBJ_DIR=$(make -s -C "$CWD" platform)
DIST_DIR="$CWD/../dist/$OBJ_DIR"
# Usage info
show_help() {
cat << EOF
Usage: ${0##*/} [-hcgv] [-j <n>] [--test] [--fuzz] [--scan-build[=output]]
[-m32] [--opt|-o]
This script builds NSS with gyp and ninja.
This build system is still under development. It does not yet support all
the features or platforms that NSS supports.
NSS build tool options:
-h display this help and exit
-c clean before build
-g force a rebuild of gyp (and NSPR, because why not)
-j <n> run at most <n> concurrent jobs
-v verbose build
-m32 do a 32-bit build on a 64-bit system
--test ignore map files and export everything we have
--fuzz enable fuzzing mode. this always enables test builds
--scan-build run the build with scan-build (scan-build has to be in the path)
--scan-build=/out/path sets the output path for scan-build
--opt|-o do an opt build
EOF
}
if [ -n "$CCC" ] && [ -z "$CXX" ]; then
export CXX="$CCC"
fi
opt_build=0
build_64=0
clean=0
rebuild_gyp=0
target=Debug
# try to guess sensible defaults
arch=$(uname -m)
if [ "$arch" = "x86_64" -o "$arch" = "aarch64" ]; then
build_64=1
fi
gyp_params=()
ninja_params=()
scanbuild=()
nspr_env=()
# parse command line arguments
while [ $# -gt 0 ]; do
case $1 in
-c) CLEAN=1 ;;
-g) REBUILD_GYP=1 ;;
-v) VERBOSE=1 ;;
--test) GYP_PARAMS="$GYP_PARAMS -Dtest_build=1" ;;
-c) clean=1 ;;
-g) rebuild_gyp=1 ;;
-j) ninja_params+=(-j "$2"); shift ;;
-v) ninja_params+=(-v) ;;
--test) gyp_params+=(-Dtest_build=1) ;;
--fuzz) gyp_params+=(-Dtest_build=1 -Dfuzz=1) ;;
--scan-build) scanbuild=(scan-build) ;;
--scan-build=?*) scanbuild=(scan-build -o "${1#*=}") ;;
--opt|-o) opt_build=1; nspr_env+=(BUILD_OPT=1) ;;
-m32|--m32) build_64=0 ;;
*) show_help; exit ;;
esac
shift
done
# set paths
cwd=$(cd $(dirname $0); pwd -P)
obj_dir=$(USE_64=$build_64 make -s -C "$cwd" platform)
dist_dir="$cwd/../dist/$obj_dir"
# -c = clean first
if [ "$CLEAN" = 1 ]; then
rm -rf "$CWD/out"
if [ "$clean" = 1 ]; then
rm -rf "$cwd/out"
rm -rf "$cwd/../nspr/$obj_dir"
fi
if [ "$BUILD_OPT" = "1" ]; then
TARGET=Release
if [ "$opt_build" = "1" ]; then
target=Release
else
TARGET=Debug
target=Debug
fi
if [ "$USE_64" == "1" ]; then
TARGET="${TARGET}_x64"
if [ "$build_64" == "1" ]; then
target="${target}_x64"
nspr_env+=(USE_64=1)
else
GYP_PARAMS="$GYP_PARAMS -Dtarget_arch=ia32"
gyp_params+=(-Dtarget_arch=ia32)
fi
TARGET_DIR="$CWD/out/$TARGET"
target_dir="$cwd/out/$target"
# figure out the scan-build string
if [ "${#scanbuild[@]}" -gt 0 ]; then
if [ -n "$CC" ]; then
scanbuild+=(--use-cc="$CC")
fi
if [ -n "$CCC" ]; then
scanbuild+=(--use-c++="$CCC")
fi
fi
# These steps can take a while, so don't overdo them.
# Force a redo with -g.
if [ "$REBUILD_GYP" = 1 -o ! -d "$TARGET_DIR" ]; then
if [ "$rebuild_gyp" = 1 -o ! -d "$target_dir" ]; then
# Build NSPR.
make -C "$CWD" NSS_GYP=1 install_nspr
make "${nspr_env[@]}" -C "$cwd" NSS_GYP=1 install_nspr
# Run gyp.
PKG_CONFIG_PATH="$CWD/../nspr/$OBJ_DIR/config" $SCANBUILD \
gyp -f ninja $GYP_PARAMS --depth="$CWD" --generator-output="." "$CWD/nss.gyp"
PKG_CONFIG_PATH="$cwd/../nspr/$obj_dir/config" \
"${scanbuild[@]}" gyp -f ninja "${gyp_params[@]}" --depth="$cwd" \
--generator-output="." "$cwd/nss.gyp"
fi
# Run ninja.
if which ninja >/dev/null 2>&1; then
NINJA=ninja
ninja=(ninja)
elif which ninja-build >/dev/null 2>&1; then
NINJA=ninja-build
ninja=(ninja-build)
else
echo "Please install ninja" 1>&2
exit 1
fi
if [ "$VERBOSE" = 1 ]; then
NINJA="$NINJA -v"
fi
$NINJA -C "$TARGET_DIR"
"${scanbuild[@]}" $ninja -C "$target_dir" "${ninja_params[@]}"

Просмотреть файл

@ -792,6 +792,7 @@ parseGroupList(const char *arg, SSLNamedGroup **enabledGroups,
p = strtok(NULL, ",");
}
PORT_Free(str);
str = NULL;
groups = PORT_ZNewArray(SSLNamedGroup, numValues);
if (!groups) {
goto done;

Просмотреть файл

@ -1471,7 +1471,7 @@ main(int argc, char **argv)
if (requireDHNamedGroups) {
rv = SSL_OptionSet(s, SSL_REQUIRE_DH_NAMED_GROUPS, PR_TRUE);
if (rv != SECSuccess) {
SECU_PrintError(progName, "error enabling extended master secret");
SECU_PrintError(progName, "error in requiring the use of fixed finite-field DH groups");
error = 1;
goto done;
}

Просмотреть файл

@ -52,6 +52,11 @@
'dll_prefix': 'lib',
'dll_suffix': 'so',
}],
['OS=="linux"', {
'freebl_name': 'freeblpriv3',
}, {
'freebl_name': 'freebl3',
}],
['OS=="mac"', {
'zlib_libs%': ['-lz'],
'use_system_sqlite%': 1,
@ -85,6 +90,7 @@
'sqlite_libs%': ['-lsqlite3'],
'dll_prefix': '<(dll_prefix)',
'dll_suffix': '<(dll_suffix)',
'freebl_name': '<(freebl_name)',
'cc_is_clang%': '<(cc_is_clang)',
# Some defaults
'disable_tests%': 0,
@ -98,6 +104,7 @@
'ssl_enable_zlib%': 1,
'use_asan%': 0,
'test_build%': 0,
'fuzz%': 0,
},
'target_defaults': {
# Settings specific to targets should go here.
@ -279,6 +286,9 @@
'<!@(<(python) <(DEPTH)/coreconf/werror.py)',
],
}],
[ 'fuzz==1', {
'cflags': ['-Wno-unused-function']
}],
[ 'OS=="android" and mozilla_client==0', {
'defines': [
'NO_SYSINFO',

Просмотреть файл

@ -10,3 +10,4 @@
*/
#error "Do not include this header file."

Просмотреть файл

@ -8,13 +8,13 @@
#define registry_h__
#include <map>
#include "nss.h"
#include "FuzzerInternal.h"
#include "nss.h"
class Registry {
public:
static void Add(std::string name, fuzzer::UserCallback func,
uint16_t max_len, std::string desc) {
static void Add(std::string name, fuzzer::UserCallback func, uint16_t max_len,
std::string desc) {
assert(!Has(name));
GetInstance().targets_[name] = TargetData(func, max_len, desc);
}
@ -40,7 +40,7 @@ class Registry {
static std::vector<std::string> Names() {
std::vector<std::string> names;
for (auto &it : GetInstance().targets_) {
for (auto& it : GetInstance().targets_) {
names.push_back(it.first);
}
return names;
@ -63,9 +63,9 @@ class Registry {
std::map<std::string, TargetData> targets_;
};
#define REGISTER_FUZZING_TARGET(name, func, max_len, desc) \
static void __attribute__ ((constructor)) RegisterFuzzingTarget() { \
Registry::Add(name, func, max_len, desc); \
#define REGISTER_FUZZING_TARGET(name, func, max_len, desc) \
static void __attribute__((constructor)) RegisterFuzzingTarget() { \
Registry::Add(name, func, max_len, desc); \
}
#endif // registry_h__
#endif // registry_h__

Просмотреть файл

@ -15,4 +15,4 @@ class NSSDatabase {
~NSSDatabase() { NSS_Shutdown(); }
};
#endif // shared_h__
#endif // shared_h__

Просмотреть файл

@ -0,0 +1,15 @@
##############################################
## ##
## WARNING: You're building with -Dfuzz=1 ##
## ##
## This means: ##
## ##
## * Your PRNG is DETERMINISTIC. ##
## * TLS transcripts are PLAINTEXT. ##
## * TLS signature checks are DISABLED. ##
## ##
## Thank you for fuzzing! ##
## ##
##############################################

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -19,15 +19,15 @@
'<(DEPTH)/lib/util/util.gyp:nssutil3',
'<(DEPTH)/lib/smime/smime.gyp:smime3',
'<(DEPTH)/lib/ssl/ssl.gyp:ssl3',
'<(DEPTH)/external_tests/google_test/google_test.gyp:gtest',
'<(DEPTH)/gtests/google_test/google_test.gyp:gtest',
'<(DEPTH)/cmd/lib/lib.gyp:sectool'
]
}
],
'target_defaults': {
'include_dirs': [
'../../external_tests/google_test/gtest/include',
'../../external_tests/common'
'../../gtests/google_test/gtest/include',
'../../gtests/common'
],
},
'variables': {

Просмотреть файл

@ -17,6 +17,11 @@
'-lstdc++',
],
}],
[ 'fuzz==1', {
'defines': [
'UNSAFE_FUZZER_MODE',
],
}],
],
'msvs_settings': {
'VCCLCompilerTool': {

Просмотреть файл

@ -10,12 +10,12 @@ CPPSRCS = \
gtests.cc \
$(NULL)
INCLUDES += -I$(CORE_DEPTH)/external_tests/google_test/gtest/include \
-I$(CORE_DEPTH)/external_tests/common
INCLUDES += -I$(CORE_DEPTH)/gtests/google_test/gtest/include \
-I$(CORE_DEPTH)/gtests/common
REQUIRES = gtest
EXTRA_LIBS = $(DIST)/lib/$(LIB_PREFIX)gtest.$(LIB_SUFFIX)
# NOTE: this is not actually used but required to build gtests.o
PROGRAM = gtests
PROGRAM = gtests

Просмотреть файл

@ -12,23 +12,18 @@
'type': 'executable',
'sources': [
'der_getint_unittest.cc',
'<(DEPTH)/external_tests/common/gtests.cc'
'<(DEPTH)/gtests/common/gtests.cc'
],
'dependencies': [
'<(DEPTH)/exports.gyp:nss_exports',
'<(DEPTH)/lib/nss/nss.gyp:nss3',
'<(DEPTH)/lib/util/util.gyp:nssutil3',
'<(DEPTH)/lib/smime/smime.gyp:smime3',
'<(DEPTH)/lib/ssl/ssl.gyp:ssl3',
'<(DEPTH)/external_tests/google_test/google_test.gyp:gtest',
'<(DEPTH)/cmd/lib/lib.gyp:sectool'
'<(DEPTH)/gtests/google_test/google_test.gyp:gtest',
]
}
],
'target_defaults': {
'include_dirs': [
'../../external_tests/google_test/gtest/include',
'../../external_tests/common'
'../../gtests/google_test/gtest/include',
'../../gtests/common'
]
},
'variables': {

Просмотреть файл

@ -11,8 +11,8 @@ CPPSRCS = \
der_private_key_import_unittest.cc \
$(NULL)
INCLUDES += -I$(CORE_DEPTH)/external_tests/google_test/gtest/include \
-I$(CORE_DEPTH)/external_tests/common
INCLUDES += -I$(CORE_DEPTH)/gtests/google_test/gtest/include \
-I$(CORE_DEPTH)/gtests/common
REQUIRES = nspr nss libdbm gtest

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше