On Thu, Aug 20, 2009 at 7:13 PM, Andrew Scherkus<[email protected]> wrote: > I know microseconds aren't a very user-friendly format, but for unit tests > and DCHECKs I'm more interested in whether the assertion is simply true. > Perhaps I'm lazy but I'd prefer: > EXPECT_EQ(kExpected, foo); > error: Value of: foo > Actual: 21000000 > Expected: kExpected > Which is: 22000000 > ...over: > EXPECT_TRUE(kExpected == foo) << "Some message about " << > kExpected.InSecondsF() << " and " << foo.InSecondsF(); > error: Value of: kExpected == foo > Actual: false > Expected: true > Some message about 21.0 and 22.0 > Guaranteed I won't write that message every time and then I end up with a > simple true/false dump instead of the erroneous values.
You could also solve this by writing EXPECT_EQ_TIME(). It's not as elegant, but I worry that your argument could be applied to almost any type in our system. Erik > On Thu, Aug 20, 2009 at 6:49 PM, Matt Perry <[email protected]> wrote: >> >> Andrew wants to be able to do: >> DCHECK_EQ(expected_time_delta, time_delta); >> This can't be done without operator<< support. >> >> On Thu, Aug 20, 2009 at 6:46 PM, Jim Roskind <[email protected]> wrote: >>> >>> +1 for Peter's suggestion. >>> TimeDelta has an internal accuracy of microseconds. What >>> resolution/scaling do you want to print in a check? Sometimes it is >>> minutes, sometimes seconds, sometimes milliseconds, I doubt that we want >>> microseconds :-/. >>> Explicit conversion as suggested doesn't seem that painful IMO. >>> Jim >>> >>> On Thu, Aug 20, 2009 at 4:02 PM, Peter Kasting <[email protected]> >>> wrote: >>>> >>>> On Thu, Aug 20, 2009 at 3:33 PM, Andrew Scherkus <[email protected]> >>>> wrote: >>>>> >>>>> Any opposition to globally declaring an operator<< ostream overload for >>>>> TimeDelta in base/time.h? >>>> >>>> This will pull the stream headers into all files that use time.h. Is >>>> that going to bloat any code or cost compile time? >>>> Is there another easy solution like doing DCHECK() << "TimeDelta was: " >>>> << myTimeDelta.asInt64OrWhatever()? >>>> PK >>>> >>> >>> >>> >> > > > > > --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---
