Fix RustProjectWriter unit-test.

The unit-test was not calling Target::OnResolved() for test
target dependencies, as such the computations performed in
Target::PullDependentTargetLibsFrom() were not correct.

This fixes the issue, and updates the expected string for the
test, which now includes two new lines for the second crate:

```
  "is_proc_macro": true,
  "proc_macro_dylib_path": "out/Debug/obj/tortoise/libmacro.so",
```

Bug: None
Change-Id: I506ca4314e72bec308e97e71e6183b14adc5a649
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/13541
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: David Turner <digit@google.com>
diff --git a/src/gn/rust_project_writer_unittest.cc b/src/gn/rust_project_writer_unittest.cc
index e57baf9..81b24b0 100644
--- a/src/gn/rust_project_writer_unittest.cc
+++ b/src/gn/rust_project_writer_unittest.cc
@@ -92,6 +92,7 @@
   dep.rust_values().set_crate_root(tlib);
   dep.rust_values().crate_name() = "tortoise";
   dep.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep.OnResolved(&err));
 
   Target target(setup.settings(), Label(SourceDir("//hare/"), "bar"));
   target.set_output_type(Target::RUST_LIBRARY);
@@ -177,6 +178,7 @@
   dep.rust_values().set_crate_root(tlib);
   dep.rust_values().crate_name() = "tortoise";
   dep.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep.OnResolved(&err));
 
   Target dep2(setup.settings(), Label(SourceDir("//achilles/"), "bar"));
   dep2.set_output_type(Target::RUST_LIBRARY);
@@ -187,6 +189,7 @@
   dep2.rust_values().set_crate_root(alib);
   dep2.rust_values().crate_name() = "achilles";
   dep2.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep2.OnResolved(&err));
 
   Target target(setup.settings(), Label(SourceDir("//hare/"), "bar"));
   target.set_output_type(Target::RUST_LIBRARY);
@@ -297,18 +300,21 @@
   dep.rust_values().set_crate_root(tlib);
   dep.rust_values().crate_name() = "tortoise";
   dep.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep.OnResolved(&err));
 
   Target dep2(setup.settings(), Label(SourceDir("//achilles/"), "bar"));
   dep2.set_output_type(Target::STATIC_LIBRARY);
   dep2.visibility().SetPublic();
   SourceFile alib("//achilles/lib.o");
   dep2.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep2.OnResolved(&err));
 
   Target dep3(setup.settings(), Label(SourceDir("//achilles/"), "group"));
   dep3.set_output_type(Target::GROUP);
   dep3.visibility().SetPublic();
   dep3.public_deps().push_back(LabelTargetPair(&dep));
   dep3.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep3.OnResolved(&err));
 
   Target dep4(setup.settings(), Label(SourceDir("//tortoise/"), "macro"));
   dep4.set_output_type(Target::RUST_PROC_MACRO);
@@ -319,6 +325,7 @@
   dep4.rust_values().set_crate_root(tmlib);
   dep4.rust_values().crate_name() = "tortoise_macro";
   dep4.SetToolchain(setup.toolchain());
+  ASSERT_TRUE(dep4.OnResolved(&err));
 
   Target target(setup.settings(), Label(SourceDir("//hare/"), "bar"));
   target.set_output_type(Target::RUST_LIBRARY);
@@ -378,6 +385,9 @@
       "      \"deps\": [\n"
       "      ],\n"
       "      \"edition\": \"2015\",\n"
+      "      \"is_proc_macro\": true,\n"
+      "      \"proc_macro_dylib_path\": "
+      "\"out/Debug/obj/tortoise/libmacro.so\",\n"
       "      \"cfg\": [\n"
       "        \"test\",\n"
       "        \"debug_assertions\"\n"