mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Mahler <bmah...@apache.org>
Subject Re: Review Request 70671: Added a class for setting expectations on master V1 API events in tests.
Date Fri, 24 May 2019 14:54:31 GMT

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



Thanks for adding this:

(1) If we're going to introduce this, let's include a patch after it that updates all the
`SUBSCRIBE` related tests in `src/tests/api_tests.cpp` to use this.
(2) Can you also include some folks with context for the `SUBSCRIBE` code / tests in this
review (and the one that updates `src/tests/api_tests.cpp`?)
(3) It seems the code is prone to crashing if the object gets destructed, consider using a
Process wrapper and dispatching.
(4) How about placing this in a mocks/ folder?


src/tests/mock_master_api_subscriber.hpp
Lines 53 (patched)
<https://reviews.apache.org/r/70671/#comment302204>

    ```
    EXPECT_CALL(*this, other(testing::_))
      .WillRepeatedly(testing::Return());
    ```



src/tests/mock_master_api_subscriber.hpp
Lines 60-63 (patched)
<https://reviews.apache.org/r/70671/#comment302205>

    Per my comment above, since we want to use this class to improve the existing testing
as well, let's just include all the possible events to start with and no `other` case.
    
    I suppose I haven't seen this before, the `_T` here lets you define these mock methods
without them overriding anything? In this sense, this class isn't really a "mock" that mocks
an existing interface or implementation, but I suppose calling it a "Mock" is ok. (the alternative
would be "TestMasterAPISubscriber", but then rather than a mocks/ folder we probably would
want to group master/ tests together).



src/tests/mock_master_api_subscriber.cpp
Lines 40 (patched)
<https://reviews.apache.org/r/70671/#comment302207>

    newline



src/tests/mock_master_api_subscriber.cpp
Lines 42 (patched)
<https://reviews.apache.org/r/70671/#comment302208>

    newline



src/tests/mock_master_api_subscriber.cpp
Lines 48-50 (patched)
<https://reviews.apache.org/r/70671/#comment302209>

    This can crash if `this` has been destructed, no?



src/tests/mock_master_api_subscriber.cpp
Lines 71-80 (patched)
<https://reviews.apache.org/r/70671/#comment302210>

    This can crash if the subscriber is destructed, no?



src/tests/mock_master_api_subscriber.cpp
Lines 103-105 (patched)
<https://reviews.apache.org/r/70671/#comment302206>

    Per comment above, let's include all switch cases / events to start with and not use `default`.
If `default` is absent the build will break when a new switch case is added and this code
isn't updated, which is what we want to happen.


- Benjamin Mahler


On May 21, 2019, 1:54 p.m., Andrei Sekretenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70671/
> -----------------------------------------------------------
> 
> (Updated May 21, 2019, 1:54 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch introduces a class with mock methods for subscribing to the
> events of master's V1 streaming API and setting expectations for them.
> 
> 
> Diffs
> -----
> 
>   src/Makefile.am 5f97523fbe2d80733fbdcc7706f2761f5a071f9f 
>   src/tests/CMakeLists.txt e6b1d8a097246f0921467d7f778034d6754fcff6 
>   src/tests/mock_master_api_subscriber.hpp PRE-CREATION 
>   src/tests/mock_master_api_subscriber.cpp PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/70671/diff/2/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message