> On Feb. 19, 2016, 3:46 p.m., Alexander Rojas wrote:
> > src/tests/cluster.hpp, line 163
> > <https://reviews.apache.org/r/43613/diff/5/?file=1263028#file1263028line163>
> >
> >     Not yours (is the only unchanged line here) but if all other pointer 
> > objects are of type `process::Owned` but here it is `std::shared_ptr`. I 
> > think we could move towards consistency here and change the type to 
> > `process::Owned`.

Unfortunately, this one is a `shared_ptr` because the underlying `Master` 
objects expects it as a `shared_ptr` (I don't know why we break the pattern 
here.)

If we want to change the pattern, we would do what the 
TestingMesosSchedulerDriver does :)
```
// No-op destructor as _detector lives on the stack.
    detector =
      std::shared_ptr<MasterDetector>(_detector, [](MasterDetector*) {});
```
But I don't think this is worth the extra complexity.  (We would need to copy 
the shared_ptr into the new no-op destructor and make sure that all future 
tests understand this.)


> On Feb. 19, 2016, 3:46 p.m., Alexander Rojas wrote:
> > src/tests/cluster.cpp, lines 250-251
> > <https://reviews.apache.org/r/43613/diff/5/?file=1263029#file1263029line250>
> >
> >     If we stick to `std::shared_ptr` I would suggest to change its 
> > contstruction to `std::make_shared`

I'll also change the 4 tests that pass in this shared_ptr.


> On Feb. 19, 2016, 3:46 p.m., Alexander Rojas wrote:
> > src/tests/cluster.hpp, line 96
> > <https://reviews.apache.org/r/43613/diff/5/?file=1263028#file1263028line96>
> >
> >     I'm pondering if calling the factory method `start()` is the right way. 
> > People are already used to the `create()` name. In that case we can also 
> > add an `start()` public method. Not an issue but an idea.
> >     
> >     Same goes for slave.

I was pondering this too.

I kept the "start" because this factory method calls `process::spawn` before 
returning.


> On Feb. 19, 2016, 3:46 p.m., Alexander Rojas wrote:
> > src/tests/cluster.cpp, line 519
> > <https://reviews.apache.org/r/43613/diff/5/?file=1263029#file1263029line519>
> >
> >     Comming from a world with exceptions, destructors are not supposed to 
> > throw, which makes me feel uneasy about an `ASSERT` here. 
> >     
> >     But feel free to drop.

A gtest assert doesn't throw, it actually returns; which I think still makes 
sense inside a destructor.


- Joseph


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43613/#review119989
-----------------------------------------------------------


On Feb. 19, 2016, 11:36 a.m., Joseph Wu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43613/
> -----------------------------------------------------------
> 
> (Updated Feb. 19, 2016, 11:36 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Bernd Mathiske, and Artem 
> Harutyunyan.
> 
> 
> Bugs: MESOS-4633 and MESOS-4634
>     https://issues.apache.org/jira/browse/MESOS-4633
>     https://issues.apache.org/jira/browse/MESOS-4634
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Major rewrite of the `tests/cluster` helpers.  This strongly ties the scope 
> of test objects to the test body.
> 
> Changes the `Cluster` class into two RAII objects (`Master` and `Slave`).  
> The `Slave` object performs cleanup originally found in 
> `cluster::Slave::stop`.  `cluster::Master::start` and `cluster::Slave::start` 
> were changed to factory methods.
> 
> 
> Diffs
> -----
> 
>   src/tests/cluster.hpp 99a785ab0d4ee1a1e745202d2551de58a7631a85 
>   src/tests/cluster.cpp 084fb1ce37a315c561c4587c4761c870f54c8625 
> 
> Diff: https://reviews.apache.org/r/43613/diff/
> 
> 
> Testing
> -------
> 
> Tests are run at the end of this review chain.
> 
> 
> Thanks,
> 
> Joseph Wu
> 
>

Reply via email to