Commit 87bd8b46 authored by finnur's avatar finnur Committed by Commit bot

Revert of Two small bugfixes (patchset #3 id:60001 of https://codereview.chromium.org/969843002/)

Reason for revert:
Causes test to consistently time out.
https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/35869

[ RUN      ] ChromeWhispernetClientTest.EncodeAndDecode
[724:3320:0303/204246:WARNING:data_reduction_proxy_config.cc(240)] SPDY proxy OFF at startup
[3956:4296:0303/204248:ERROR:singleton_hwnd.cc(43)] Cannot create windows on non-UI thread!
[724:4156:0303/204249:INFO:CONSOLE(5)] "Not allowed to load local resource: chrome://resources/css/text_defaults.css", source: chrome-extension://bpfmnplchembfbdgieamdodgaencleal/background.html (5)
[724:4156:0303/204249:INFO:CONSOLE(83)] "init: Starting Nacl bridge.", source: chrome-extension://bpfmnplchembfbdgieamdodgaencleal/js/init.js (83)
[2012:2524:0303/204249:ERROR:singleton_hwnd.cc(43)] Cannot create windows on non-UI thread!
[2012:2832:0303/204249:ERROR:pnacl_translation_resource_host.cc(135)] Got invalid platformfilefortransit
[724:4156:0303/204253:INFO:CONSOLE(65)] "init: Nacl ready!", source: chrome-extension://bpfmnplchembfbdgieamdodgaencleal/js/init.js (65)
[724:4156:0303/204254:INFO:CONSOLE(26)] "Configuring encoder and decoder for client E77A9C58-00C9-4A99-AC57-1353FB0B918D", source: chrome-extension://bpfmnplchembfbdgieamdodgaencleal/js/init.js (26)
[223/223] ChromeWhispernetClientTest.EncodeAndDecode (TIMED OUT)

Original issue's description:
> 1. Token CRCs are not handled correctly. This adds the corrected Whispernet binary (from cl/87383487), and a test to confirm the correct behavior.
>
> 2. If we get tokens that require more than one padding character, the padding will not be completely removed when appropriate. This is a simple change in the js.
>
> BUG=463218
>
> Committed: https://crrev.com/6e37f17aa09f5244315d6eb84fa305154bc65062
> Cr-Commit-Position: refs/heads/master@{#319015}

TBR=rkc@chromium.org,ckehoe@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=463218

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

Cr-Commit-Position: refs/heads/master@{#319032}
parent 29be3dc6
......@@ -33,7 +33,7 @@ using audio_modem::TokenParameters;
namespace {
// TODO(ckehoe): Use randomly generated tokens instead.
// TODO(rkc): Add more varied test input.
const char kSixZeros[] = "MDAwMDAw";
const char kEightZeros[] = "MDAwMDAwMDA";
const char kNineZeros[] = "MDAwMDAwMDAw";
......@@ -114,8 +114,7 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest,
void EncodeTokenAndSaveSamples(WhispernetClient* client,
bool audible,
const std::string& token,
const TokenParameters token_params[2]) {
const std::string& token) {
run_loop_.reset(new base::RunLoop());
client->RegisterSamplesCallback(
base::Bind(&ChromeWhispernetClientTest::SamplesCallback,
......@@ -123,6 +122,7 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest,
expected_token_ = token;
expected_audible_ = audible;
TokenParameters token_params[2];
client->EncodeToken(token, audible ? AUDIBLE : INAUDIBLE, token_params);
run_loop_->Run();
......@@ -236,13 +236,11 @@ class ChromeWhispernetClientTest : public ExtensionBrowserTest,
#define MAYBE_Initialize DISABLED_Initialize
#define MAYBE_EncodeAndDecode DISABLED_EncodeAndDecode
#define MAYBE_TokenLengths DISABLED_TokenLengths
#define MAYBE_Crc DISABLED_Crc
#define MAYBE_MultipleClients DISABLED_MultipleClients
#else
#define MAYBE_Initialize Initialize
#define MAYBE_EncodeAndDecode EncodeAndDecode
#define MAYBE_TokenLengths TokenLengths
#define MAYBE_Crc Crc
#define MAYBE_MultipleClients MultipleClients
#endif
......@@ -259,10 +257,10 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_EncodeAndDecode) {
TokenParameters token_params[2];
GetTokenParamsForLengths(kTokenLengths, token_params);
EncodeTokenAndSaveSamples(client.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), true, kSixZeros);
DecodeSamplesAndVerifyToken(client.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), false, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), false, kSixZeros);
DecodeSamplesAndVerifyToken(client.get(), false, kSixZeros, token_params);
}
......@@ -276,31 +274,13 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_TokenLengths) {
TokenParameters token_params[2];
GetTokenParamsForLengths(kLongTokenLengths, token_params);
EncodeTokenAndSaveSamples(client.get(), true, kEightZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), true, kEightZeros);
DecodeSamplesAndVerifyToken(client.get(), true, kEightZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), false, kNineZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), false, kNineZeros);
DecodeSamplesAndVerifyToken(client.get(), false, kNineZeros, token_params);
}
IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_Crc) {
scoped_ptr<WhispernetClient> client(
new ChromeWhispernetClient(browser()->profile()));
client->Initialize(base::Bind(&IgnoreResult));
SetupDecode();
TokenParameters token_params[2];
GetTokenParamsForLengths(kTokenLengths, token_params);
token_params[0].crc = true;
token_params[1].crc = true;
EncodeTokenAndSaveSamples(client.get(), true, kSixZeros, token_params);
DecodeSamplesAndVerifyToken(client.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client.get(), false, kSixZeros, token_params);
DecodeSamplesAndVerifyToken(client.get(), false, kSixZeros, token_params);
}
IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_MultipleClients) {
scoped_ptr<WhispernetClient> client_1(
new ChromeWhispernetClient(browser()->profile()));
......@@ -317,21 +297,24 @@ IN_PROC_BROWSER_TEST_F(ChromeWhispernetClientTest, MAYBE_MultipleClients) {
client_1->Initialize(base::Bind(&IgnoreResult));
client_2->Initialize(base::Bind(&IgnoreResult));
EncodeTokenAndSaveSamples(client_1.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client_1.get(), true, kSixZeros);
DecodeSamplesAndVerifyToken(client_1.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client_2.get(), false, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client_2.get(), false, kSixZeros);
DecodeSamplesAndVerifyToken(client_2.get(), false, kSixZeros, token_params);
// Test sequential initialization.
client_3->Initialize(base::Bind(&IgnoreResult));
EncodeTokenAndSaveSamples(client_3.get(), true, kSixZeros, token_params);
EncodeTokenAndSaveSamples(client_3.get(), true, kSixZeros);
DecodeSamplesAndVerifyToken(client_3.get(), true, kSixZeros, token_params);
const size_t kLongTokenLengths[2] = {8, 9};
GetTokenParamsForLengths(kLongTokenLengths, token_params);
EncodeTokenAndSaveSamples(client_2.get(), true, kEightZeros, token_params);
EncodeTokenAndSaveSamples(client_2.get(), true, kEightZeros);
DecodeSamplesAndVerifyToken(client_2.get(), true, kEightZeros, token_params);
}
// TODO(ckehoe): Test crc and parity
// TODO(ckehoe): More multi-client testing
......@@ -20,7 +20,7 @@ function NaclBridge(nmf, readyCallback) {
/**
* Method to send generic byte data to the whispernet wrapper.
* @param {Object} data Raw data to send to the whispernet wrapper.
* @param {string} data Raw data to send to the whispernet wrapper.
*/
NaclBridge.prototype.send = function(data) {
if (this.isEnabled_) {
......
......@@ -14,7 +14,7 @@ function bytesToBase64(bytes) {
var bstr = '';
for (var i = 0; i < bytes.length; ++i)
bstr += String.fromCharCode(bytes[i]);
return btoa(bstr).replace(/=/g, '');
return btoa(bstr).replace('=', '');
}
/**
......
{
"program": {
"portable": {
"pnacl-translate": { "url": "whispernet_proxy_pnacl.pexe.png?v00007" }
"pnacl-translate": { "url": "whispernet_proxy_pnacl.pexe.png?v00006" }
}
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment