All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Michael Davidsaver <mdavidsaver@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Antoine Mathys <barsamin@gmail.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 07/14] tests: ds-rtc test wday offset
Date: Mon, 9 Jul 2018 16:50:48 +1000	[thread overview]
Message-ID: <20180709065048.GJ22363@umbus.fritz.box> (raw)
In-Reply-To: <20180707175039.23522-1-mdavidsaver@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3714 bytes --]

On Sat, Jul 07, 2018 at 10:50:39AM -0700, Michael Davidsaver wrote:
> Signed-off-by: Michael Davidsaver <mdavidsaver@gmail.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  tests/ds-rtc-common.h       | 10 +++++++---
>  tests/ds-rtc-current-test.c |  9 ++++++++-
>  tests/ds-rtc-set-test.c     |  6 ++++--
>  3 files changed, 19 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/ds-rtc-common.h b/tests/ds-rtc-common.h
> index 5bc7ab32a6..782ea60453 100644
> --- a/tests/ds-rtc-common.h
> +++ b/tests/ds-rtc-common.h
> @@ -20,7 +20,7 @@ static uint8_t addr;
>  static bool use_century;
>  
>  /* input buffer must have at least 7 elements */
> -static inline time_t rtc_parse(const uint8_t *buf, int *mmode)
> +static inline time_t rtc_parse(const uint8_t *buf, unsigned *wday, int *mmode)
>  {
>      struct tm parts;
>  
> @@ -51,10 +51,14 @@ static inline time_t rtc_parse(const uint8_t *buf, int *mmode)
>          parts.tm_year += 100u;
>      }
>  
> +    if (wday) {
> +        *wday = parts.tm_wday;
> +    }
> +
>      return mktimegm(&parts);
>  }
>  
> -static time_t rtc_gettime(int *mmode)
> +static time_t rtc_gettime(unsigned *wday, int *mmode)
>  {
>      uint8_t buf[7];
>  
> @@ -64,7 +68,7 @@ static time_t rtc_gettime(int *mmode)
>      /* read back current time registers */
>      i2c_recv(i2c, addr, buf, 7);
>  
> -    return rtc_parse(buf, mmode);
> +    return rtc_parse(buf, wday, mmode);
>  }
>  
>  #endif /* DSRTCCOMMON_H */
> diff --git a/tests/ds-rtc-current-test.c b/tests/ds-rtc-current-test.c
> index 3c15482a9d..08d8411671 100644
> --- a/tests/ds-rtc-current-test.c
> +++ b/tests/ds-rtc-current-test.c
> @@ -20,17 +20,24 @@
>  static
>  void test_rtc_current(void)
>  {
> +    struct tm tm_actual;
>      time_t expected, actual;
>      /* relax test to limit false positives when host may be overloaded.
>       * Allow larger delta when running "-m quick"
>       */
>      time_t max_delta = g_test_slow() ? 1 : 30;
>  
> +    unsigned wday_expect;
> +
>      actual = time(NULL);
>      /* new second may start here */
> -    expected = rtc_gettime(NULL);
> +    expected = rtc_gettime(&wday_expect, NULL);
> +
> +    gmtime_r(&actual, &tm_actual);
> +
>      g_assert_cmpuint(expected, <=, actual + max_delta);
>      g_assert_cmpuint(expected, >=, actual);
> +    g_assert_cmpuint(wday_expect, ==, tm_actual.tm_wday);
>  }
>  
>  int main(int argc, char *argv[])
> diff --git a/tests/ds-rtc-set-test.c b/tests/ds-rtc-set-test.c
> index 3a742e897f..1004470931 100644
> --- a/tests/ds-rtc-set-test.c
> +++ b/tests/ds-rtc-set-test.c
> @@ -124,17 +124,19 @@ void test_rtc_set(const void *raw)
>  
>      const uint8_t *testtime = raw;
>      time_t expected, actual;
> +    unsigned wday_expect, wday_actual;
>      int mode_expect, mode_actual;
>  
>      /* skip address pointer and parse remainder */
> -    expected = rtc_parse(&testtime[1], &mode_expect);
> +    expected = rtc_parse(&testtime[1], &wday_expect, &mode_expect);
>  
>      i2c_send(i2c, addr, testtime, 8);
>      /* host may start new second here */
> -    actual = rtc_gettime(&mode_actual);
> +    actual = rtc_gettime(&wday_actual, &mode_actual);
>  
>      g_assert_cmpuint(expected, <=, actual);
>      g_assert_cmpuint(expected + max_delta, >=, actual);
> +    g_assert_cmpuint(wday_expect, ==, wday_actual);
>      g_assert_cmpint(mode_expect, ==, mode_actual);
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-07-09  6:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 18:19 [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v3 Michael Davidsaver
2018-07-05 18:19 ` [Qemu-devel] [PATCH 01/14] tests: more thorough tests of ds1338 Michael Davidsaver
2018-07-17 15:28   ` Peter Maydell
2018-07-05 18:19 ` [Qemu-devel] [PATCH 02/14] timer: ds1338 use registerfields.h Michael Davidsaver
2018-07-06  1:35   ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 03/14] timer: ds1338 persist 12-hour mode selection Michael Davidsaver
2018-07-06  3:39   ` David Gibson
2018-07-06  4:35     ` Michael Davidsaver
2018-07-07 17:59       ` Michael Davidsaver
2018-07-09  5:09       ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 04/14] timer: ds1338 clarify HOUR handling Michael Davidsaver
2018-07-09  5:12   ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 05/14] timer: ds1338 change write handling and fix wday_offset handling Michael Davidsaver
2018-07-16  4:25   ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 06/14] tests: ds-rtc test 12 hour mode Michael Davidsaver
2018-07-07 17:49   ` [Qemu-devel] [PATCH v2 " Michael Davidsaver
2018-07-09  6:49     ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 07/14] tests: ds-rtc test wday offset Michael Davidsaver
2018-07-07 17:50   ` [Qemu-devel] [PATCH v2 " Michael Davidsaver
2018-07-09  6:50     ` David Gibson [this message]
2018-07-05 18:19 ` [Qemu-devel] [PATCH 08/14] timer: rename ds1338 -> dsrtc Michael Davidsaver
2018-07-05 18:19 ` [Qemu-devel] [PATCH 09/14] timer: rename file ds1338.c -> ds-rtc.c Michael Davidsaver
2018-07-05 18:19 ` [Qemu-devel] [PATCH 10/14] timer: ds1338 remove vestige of un-modeled OSF Michael Davidsaver
2018-07-16  4:26   ` David Gibson
2018-07-05 18:19 ` [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit Michael Davidsaver
2018-07-16  9:43   ` David Gibson
2018-07-05 18:20 ` [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375 Michael Davidsaver
2018-07-16  9:44   ` David Gibson
2018-07-05 18:20 ` [Qemu-devel] [PATCH 14/14] tests: drop ds1338-test Michael Davidsaver
2018-07-17 15:23   ` Peter Maydell
     [not found] ` <20180705182001.16537-12-mdavidsaver@gmail.com>
2018-07-16  9:19   ` [Qemu-devel] [PATCH 11/14] timer: generalize ds1338 David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180709065048.GJ22363@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=barsamin@gmail.com \
    --cc=mdavidsaver@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.