Index: tools/gn/ninja_binary_target_writer_unittest.cc |
diff --git a/tools/gn/ninja_binary_target_writer_unittest.cc b/tools/gn/ninja_binary_target_writer_unittest.cc |
index 1e02446dfe3758954c3e9061232ca599fc998274..d620f94080e44796f9e57f657ffb4003c1433772 100644 |
--- a/tools/gn/ninja_binary_target_writer_unittest.cc |
+++ b/tools/gn/ninja_binary_target_writer_unittest.cc |
@@ -82,7 +82,8 @@ TEST(NinjaBinaryTargetWriter, SourceSet) { |
"|| obj/foo/bar.stamp\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = .so\n"; |
+ " output_extension = .so\n" |
+ " output_dir = \n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
} |
@@ -110,7 +111,8 @@ TEST(NinjaBinaryTargetWriter, SourceSet) { |
// There are no sources so there are no params to alink. (In practice |
// this will probably fail in the archive tool.) |
"build obj/foo/libstlib.a: alink || obj/foo/bar.stamp\n" |
- " output_extension = \n"; |
+ " output_extension = \n" |
+ " output_dir = \n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
} |
@@ -136,15 +138,16 @@ TEST(NinjaBinaryTargetWriter, SourceSet) { |
"build obj/foo/libstlib.a: alink obj/foo/bar.input1.o " |
"obj/foo/bar.input2.o ../../foo/input3.o ../../foo/input4.obj " |
"|| obj/foo/bar.stamp\n" |
- " output_extension = \n"; |
+ " output_extension = \n" |
+ " output_dir = \n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
} |
} |
-// This tests that output extension overrides apply, and input dependencies |
-// are applied. |
-TEST(NinjaBinaryTargetWriter, ProductExtensionAndInputDeps) { |
+// This tests that output extension and output dir overrides apply, and input |
+// dependencies are applied. |
+TEST(NinjaBinaryTargetWriter, OutputExtensionAndInputDeps) { |
TestWithScope setup; |
Err err; |
@@ -157,10 +160,11 @@ TEST(NinjaBinaryTargetWriter, ProductExtensionAndInputDeps) { |
action.SetToolchain(setup.toolchain()); |
ASSERT_TRUE(action.OnResolved(&err)); |
- // A shared library w/ the product_extension set to a custom value. |
+ // A shared library w/ the output_extension set to a custom value. |
Target target(setup.settings(), Label(SourceDir("//foo/"), "shlib")); |
target.set_output_type(Target::SHARED_LIBRARY); |
target.set_output_extension(std::string("so.6")); |
+ target.set_output_dir(SourceDir("//out/Debug/foo/")); |
target.sources().push_back(SourceFile("//foo/input1.cc")); |
target.sources().push_back(SourceFile("//foo/input2.cc")); |
target.public_deps().push_back(LabelTargetPair(&action)); |
@@ -192,7 +196,8 @@ TEST(NinjaBinaryTargetWriter, ProductExtensionAndInputDeps) { |
"obj/foo/libshlib.input2.o || obj/foo/action.stamp\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = .so.6\n"; |
+ " output_extension = .so.6\n" |
+ " output_dir = foo\n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
@@ -229,19 +234,20 @@ TEST(NinjaBinaryTargetWriter, LibsAndLibDirs) { |
"build ./libshlib.so: solink | ../../foo/lib1.a\n" |
" ldflags = -L../../foo/bar\n" |
" libs = ../../foo/lib1.a -lfoo\n" |
- " output_extension = .so\n"; |
+ " output_extension = .so\n" |
+ " output_dir = \n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
} |
-TEST(NinjaBinaryTargetWriter, EmptyProductExtension) { |
+TEST(NinjaBinaryTargetWriter, EmptyOutputExtension) { |
TestWithScope setup; |
Err err; |
setup.build_settings()->SetBuildDir(SourceDir("//out/Debug/")); |
- // This test is the same as ProductExtension, except that we call |
+ // This test is the same as OutputExtensionAndInputDeps, except that we call |
// set_output_extension("") and ensure that we get an empty one and override |
// the output prefix so that the name matches the target exactly. |
Target target(setup.settings(), Label(SourceDir("//foo/"), "shlib")); |
@@ -274,7 +280,8 @@ TEST(NinjaBinaryTargetWriter, EmptyProductExtension) { |
"obj/foo/shlib.input2.o\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = \n"; |
+ " output_extension = \n" |
+ " output_dir = \n"; |
std::string out_str = out.str(); |
EXPECT_EQ(expected, out_str); |
@@ -357,7 +364,8 @@ TEST(NinjaBinaryTargetWriter, SourceSetDataDeps) { |
"obj/foo/inter.stamp\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = \n"; |
+ " output_extension = \n" |
+ " output_dir = \n"; |
EXPECT_EQ(final_expected, final_out.str()); |
} |
@@ -392,7 +400,8 @@ TEST(NinjaBinaryTargetWriter, SharedLibraryModuleDefinitionFile) { |
"build ./libbar.so: solink obj/foo/libbar.sources.o | ../../foo/bar.def\n" |
" ldflags = /DEF:../../foo/bar.def\n" |
" libs =\n" |
- " output_extension = .so\n"; |
+ " output_extension = .so\n" |
+ " output_dir = \n"; |
EXPECT_EQ(expected, out.str()); |
} |
@@ -427,7 +436,8 @@ TEST(NinjaBinaryTargetWriter, LoadableModule) { |
"build ./libbar.so: solink_module obj/foo/libbar.sources.o\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = .so\n"; |
+ " output_extension = .so\n" |
+ " output_dir = \n"; |
EXPECT_EQ(loadable_expected, out.str()); |
// Final target. |
@@ -458,7 +468,8 @@ TEST(NinjaBinaryTargetWriter, LoadableModule) { |
"build ./exe: link obj/foo/exe.final.o || ./libbar.so\n" |
" ldflags =\n" |
" libs =\n" |
- " output_extension = \n"; |
+ " output_extension = \n" |
+ " output_dir = \n"; |
EXPECT_EQ(final_expected, final_out.str()); |
} |