Add very simple loading test for non-SFI NaCl.
commit3e99f1afa25a9af7efb3d2a838fed79d520f1dbb
authorhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 18 Mar 2014 20:49:53 +0000 (18 20:49 +0000)
committerhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 18 Mar 2014 20:49:53 +0000 (18 20:49 +0000)
treebf5e30febbe9b719e2e662cd1063c0eb229b5c7b
parent7ae1aeb8fdfcf632d00fe4fcbc797431b73da5ec
Add very simple loading test for non-SFI NaCl.

This is the first step to add test cases for non-SFI NaCl.
The testee binary is build by a new target rule introduced by this CL, which is relocatable/libc-free binary. The code has a minimum set of handlers for irt_ppapi, to load the plugin successfully done with communicating hosts (browser/renderer processes).

Along this change, some DCHECK errors are found. So they're fixed, too.
1) AtExitManager is conflicting. In non-SFI mode, AtExitManager is already instantiated in nacl_helper. To avoid the conflicting, skip to create it in plugin_main_irt.cc.
2) Allowed creating Singleton on the plugin's main thread.
3) SRPC may be successfully done, and then NOTREACHED catch it in nacl_listener. It is false alarm, so removed it.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3734
TEST=run ./browser_tests --gtest_filter=NaCl*NonSFI* locally. Run trybots.

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257118

Review URL: https://codereview.chromium.org/189553005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257743 0039d316-1c4b-4281-b951-d872f2087c98
chrome/test/data/nacl/nacl_test_data.gyp
chrome/test/data/nacl/nonsfi/libc_free.c [new file with mode: 0644]
chrome/test/data/nacl/nonsfi/libc_free.html [new file with mode: 0644]
chrome/test/data/nacl/nonsfi/libc_free.nmf [new file with mode: 0644]
chrome/test/nacl/nacl_browsertest.cc
chrome/test/nacl/nacl_browsertest_util.cc
chrome/test/nacl/nacl_browsertest_util.h
components/nacl/loader/nacl_listener.cc
components/nacl/loader/nonsfi/nonsfi_main.cc
ppapi/proxy/plugin_main_irt.cc