> On Sept. 11, 2015, 6:56 a.m., Marco Massenzio wrote:
> > 3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp, line 406
> > <https://reviews.apache.org/r/38259/diff/2/?file=1068028#file1068028line406>
> >
> >     this would be a good opportunity to replace this test with something 
> > that relies less on exact string match, maybe?
> >     
> >     in pseudo-code, I'd do something like:
> >     ```
> >     EXPECT_TRUE(lower(load.error()).contains("duplicate") && 
> > contains(flag_name))
> >     ```
> >     
> >     (also, if you have a helper method, you can just unit test that one - 
> > once - for both cases; without having to repeat the test, below)

Export an const string format, so we can use it here.


> On Sept. 11, 2015, 6:56 a.m., Marco Massenzio wrote:
> > 3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp, lines 
> > 672-681
> > <https://reviews.apache.org/r/38259/diff/2/?file=1068027#file1068027line672>
> >
> >     would it be possible to factor out all this into a helper method?
> >     It's essentialy a copy & paste of the same code above.
> >     
> >     so long as it was only a couple of lines of code (maybe) it made sense 
> > to repeat it - here, it seems redundant.
> >     
> >     (and, obviously, same comments apply)
> 
> Klaus Ma wrote:
>     I'm thinking to define a const massage format for re-usage; but not sure 
> where to add such a const format. For example:
>     
>         const string dup_err_msg("Duplicate flag '%s' in command line with 
> environment"); // No sure where to put this const string :(.
>         ...
>         return Error(strings::format(dup_err_msg, name));
>         
>     And re-check those two log/function, it seems we can re-use some logic: 
> in `FlagsBase::load(... const char* const* argv ...)`, dump `argv` and call 
> `FlagsBase::load(... char*** argv ...)` to load the flags, the args that are 
> not a flag.
> 
> Marco Massenzio wrote:
>     there is a `master/constants.hpp` but it does not seem to be used for 
> this - in fact, all error messages/logs are hard-coded strings (I don't guess 
> anyone ever worried about internationalizing Mesos :D ) - I think your only 
> option would be to put it at the head of this file.
>     
>     please make sure to use ALL_CAPS for the const name.
>     Also, please make sure to modify the message with the one I suggested, 
> thanks.

I put the const in that header file.


- Klaus


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


On Sept. 13, 2015, 4:34 a.m., Klaus Ma wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38259/
> -----------------------------------------------------------
> 
> (Updated Sept. 13, 2015, 4:34 a.m.)
> 
> 
> Review request for mesos, Bernd Mathiske, Marco Massenzio, and Michael Park.
> 
> 
> Bugs: MESOS-3340
>     https://issues.apache.org/jira/browse/MESOS-3340
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Currently, it appears that re-defining a flag on the command-line that was 
> already defined via a OS Env var (MESOS_*) causes the Master to fail with a 
> not very helpful message.
> 
> For example, if one has MESOS_QUORUM defined, this happens:
> 
>     $ ./mesos-master --zk=zk://192.168.1.4/mesos --quorum=1 
> --hostname=192.168.1.4 --ip=192.168.1.4
>     Duplicate flag 'quorum' on command line
> 
> which is not very helpful.
> 
> Current solution is to throw error if any duplication; over-write may make 
> user confused about the result.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp 9da213f 
>   3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp ebf8cd6 
> 
> Diff: https://reviews.apache.org/r/38259/diff/
> 
> 
> Testing
> -------
> 
> make
> make check
> 
> 
> Thanks,
> 
> Klaus Ma
> 
>

Reply via email to