Chromium Code Reviews| Index: components/nacl/zygote/nacl_fork_delegate_linux_unittest.cc |
| diff --git a/components/nacl/zygote/nacl_fork_delegate_linux_unittest.cc b/components/nacl/zygote/nacl_fork_delegate_linux_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..26d787a6f63e514cb0248112875168478ed76b78 |
| --- /dev/null |
| +++ b/components/nacl/zygote/nacl_fork_delegate_linux_unittest.cc |
| @@ -0,0 +1,41 @@ |
| + |
|
jln (very slow on Chromium)
2014/06/02 21:31:47
Style: no empty line here.
Mark Seaborn
2014/06/02 23:10:29
Nit: remove empty line at start
elijahtaylor1
2014/06/03 20:47:54
Done.
elijahtaylor1
2014/06/03 20:47:55
Done.
|
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "components/nacl/zygote/nacl_fork_delegate_linux.h" |
|
jln (very slow on Chromium)
2014/06/02 21:31:47
Nit: empty line after including the interface that
elijahtaylor1
2014/06/03 20:47:55
Done.
|
| +#include "base/environment.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/process/launch.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
|
jln (very slow on Chromium)
2014/06/02 21:31:47
Nit: add an anonymous namespace.
elijahtaylor1
2014/06/03 20:47:55
I don't know if that's possible since we need to m
jln (very slow on Chromium)
2014/06/03 22:58:13
Yeah, probably a good idea to have it in the nacl
|
| +TEST(NaClForkDelegateLinuxTest, EnvPassthrough) { |
| + scoped_ptr<base::Environment> env(base::Environment::Create()); |
| + const char passthrough1[] = "HELPER_PASSTHROUGH1"; |
| + const char passthrough2[] = "HELPER_PASSTHROUGH2"; |
| + const char passthrough3[] = "HELPER_PASSTHROUGH3"; |
| + const char passthrough4[] = "HELPER_PASSTHROUGH4"; |
| + const char value1[] = "passthrough_value1"; |
| + const char value3[] = "passthrough_value3"; |
| + const char value4[] = "passthrough_value4"; |
| + std::string passthrough_value; |
| + passthrough_value += passthrough1; |
| + passthrough_value += " "; |
| + passthrough_value += passthrough2; |
| + passthrough_value += " "; |
| + passthrough_value += passthrough3; |
| + // Not adding passthrough4 to the passthrough variable. |
| + env->SetVar("NACL_DANGEROUS_NACL_HELPER_ENV_PASSTHROUGH", |
| + passthrough_value.c_str()); |
| + env->SetVar(passthrough1, value1); |
| + // Intentionally skip setting a value for passthrough2. |
| + env->SetVar(passthrough3, value3); |
| + env->SetVar(passthrough4, value4); |
| + |
| + base::LaunchOptions options; |
| + nacl::NaClForkDelegate::AddPassthroughEnvToOptions(options); |
| + EXPECT_EQ(value1, options.environ[passthrough1]); |
| + EXPECT_EQ(0U, options.environ.count(passthrough2)); |
| + EXPECT_EQ(value3, options.environ[passthrough3]); |
| + EXPECT_EQ(0U, options.environ.count(passthrough4)); |
| +} |