Skip to content
Snippets Groups Projects
  • Andrew Jenkins's avatar
    437a7a28
    Fix failure in TestTrace/* when timezone isn't UTC · 437a7a28
    Andrew Jenkins authored
    
    The TestTrace/Deployment and TestTrace/HelmRelease test cases fail in
    environments where the timezone isn't UTC, because they compare a local time
    string to the golden file, which has time in UTC.  Here is an example:
    
    ```
    --- FAIL: TestTrace (0.12s)
        --- FAIL: TestTrace/Deployment (0.08s)
            main_test.go:337: Mismatch from golden file 'testdata/trace/deployment.golden': Mismatch from expected value (-want +got):
                  strings.Join({
                    ... // 88 identical bytes
                    " Flux\n---\nHelmRelease:    podinfo\nNamespace:      podinfo-8\nRevi",
                    "sion:       6.0.0\nStatus:         Last reconciled at 2021-07-16 ",
                -   "15:42:20 +0000 UTC",
                +   "09:42:20 -0600 MDT",
                    "\nMessage:        Release reconciliation succeeded\n---\nHelmChart:",
                    "      podinfo-podinfo\nNamespace:      flux-system-9\nChart:      ",
                    "    podinfo\nVersion:        6.0.0\nRevision:       6.0.0\nStatus: ",
                    "        Last reconciled at 2021-07-16 ",
                -   "15:32:09 +0000 UTC",
                +   "09:32:09 -0600 MDT",
                    "\nMessage:        Fetched revision: 6.0.0\n---\nHelmRepository: pod",
                    "info\nNamespace:      flux-system-9\nURL:            https://stefa",
                    "nprodan.github.io/podinfo\nRevision:       8411f23d07d3701f0e96e7",
                    "d9e503b7936d7e1d56\nStatus:         Last reconciled at 2021-07-",
                -   "1",
                    "1",
                -   " 00:25:46 +0000 UTC",
                +   "0 18:25:46 -0600 MDT",
                    "\nMessage:        Fetched revision: 8411f23d07d3701f0e96e7d9e503b",
                    "7936d7e1d56\n",
                  }, "")
    ```
    
    This commit fixes the issue by converting the golden test times to local
    time before comparing. The utility function toLocalTime() is added to
    trace_test.go, and then it is used to provide localized times as
    template parameters to the golden files.
    
    Signed-off-by: default avatarAndrew Jenkins <andrew@aspenmesh.io>
    437a7a28
    History
    Fix failure in TestTrace/* when timezone isn't UTC
    Andrew Jenkins authored
    
    The TestTrace/Deployment and TestTrace/HelmRelease test cases fail in
    environments where the timezone isn't UTC, because they compare a local time
    string to the golden file, which has time in UTC.  Here is an example:
    
    ```
    --- FAIL: TestTrace (0.12s)
        --- FAIL: TestTrace/Deployment (0.08s)
            main_test.go:337: Mismatch from golden file 'testdata/trace/deployment.golden': Mismatch from expected value (-want +got):
                  strings.Join({
                    ... // 88 identical bytes
                    " Flux\n---\nHelmRelease:    podinfo\nNamespace:      podinfo-8\nRevi",
                    "sion:       6.0.0\nStatus:         Last reconciled at 2021-07-16 ",
                -   "15:42:20 +0000 UTC",
                +   "09:42:20 -0600 MDT",
                    "\nMessage:        Release reconciliation succeeded\n---\nHelmChart:",
                    "      podinfo-podinfo\nNamespace:      flux-system-9\nChart:      ",
                    "    podinfo\nVersion:        6.0.0\nRevision:       6.0.0\nStatus: ",
                    "        Last reconciled at 2021-07-16 ",
                -   "15:32:09 +0000 UTC",
                +   "09:32:09 -0600 MDT",
                    "\nMessage:        Fetched revision: 6.0.0\n---\nHelmRepository: pod",
                    "info\nNamespace:      flux-system-9\nURL:            https://stefa",
                    "nprodan.github.io/podinfo\nRevision:       8411f23d07d3701f0e96e7",
                    "d9e503b7936d7e1d56\nStatus:         Last reconciled at 2021-07-",
                -   "1",
                    "1",
                -   " 00:25:46 +0000 UTC",
                +   "0 18:25:46 -0600 MDT",
                    "\nMessage:        Fetched revision: 8411f23d07d3701f0e96e7d9e503b",
                    "7936d7e1d56\n",
                  }, "")
    ```
    
    This commit fixes the issue by converting the golden test times to local
    time before comparing. The utility function toLocalTime() is added to
    trace_test.go, and then it is used to provide localized times as
    template parameters to the golden files.
    
    Signed-off-by: default avatarAndrew Jenkins <andrew@aspenmesh.io>