<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/69250>69250</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libcxx][tests] Unit tests fail for std::chrono
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          AntonRydahl
      </td>
    </tr>
</table>

<pre>
    I have three LIT tests failing from `ninja check-cxx` on upstream main on my local machine. I am uncertain whether the tests or code is wrong, but the check fails because the expected time zone in the tests do not match the output. I ran the tests on an AMD EPYC 7402 with Red Hat Enterprise Linux 8.8 and I am currently in GMT-7. The failed tests are
```
Failed Tests (3):
  llvm-libc++-shared.cfg.in :: std/time/time.syn/formatter.file_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.syn/formatter.local_time.pass.cpp
 llvm-libc++-shared.cfg.in :: std/time/time.syn/formatter.sys_time.pass.cpp
```
and the output is
```
# .---command stderr------------
# | 
# | Format string {:L%%c='%c'%t%%Ec='%Ec'%n}
# | Expected output %c='jeu. 01 janv. 1970 00:00:00 GMT'      %Ec='jeu. 01 janv. 1970 00:00:00 GMT'
# | 
# | Actual output   %c='jeu. 01 janv. 1970 00:00:00 UTC'      %Ec='jeu. 01 janv. 1970 00:00:00 UTC'
# | 
# | t.tmp.exe: /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/time/time.syn/formatter_tests.h:41: void check(std::basic_string_view<CharT>, test_format_string<CharT, Args...>, Args &&...) [CharT = char, Args = <std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<long long>>>]: Assertion `out == expected' failed.
# `-----------------------------
# error: command failed with exit status: 250
...
# .---command stderr------------
# | 
# | Format string {:L%%c='%c'%t%%Ec='%Ec'%n}
# | Expected output %c='jeu. 01 janv. 1970 00:00:00 GMT'      %Ec='jeu. 01 janv. 1970 00:00:00 GMT'
# | 
# | Actual output   %c='jeu. 01 janv. 1970 00:00:00 UTC'      %Ec='jeu. 01 janv. 1970 00:00:00 UTC'
# | 
# | t.tmp.exe: /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/time/time.syn/formatter_tests.h:41: void check(std::basic_string_view<CharT>, test_format_string<CharT, Args...>, Args &&...) [CharT = char, Args = <std::chrono::time_point<std::filesystem::_FilesystemClock, std::chrono::duration<long long>>>]: Assertion `out == expected' failed.
# `-----------------------------
# error: command failed with exit status: 250
...
# .---command stderr------------
# | 
# | Format string {:L%%c='%c'%t%%Ec='%Ec'%n}
# | Expected output %c='jeu. 01 janv. 1970 00:00:00 GMT'      %Ec='jeu. 01 janv. 1970 00:00:00 GMT'
# | 
# | Actual output   %c='jeu. 01 janv. 1970 00:00:00 UTC'      %Ec='jeu. 01 janv. 1970 00:00:00 UTC'
# | 
# | t.tmp.exe: /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/time/time.syn/formatter_tests.h:41: void check(std::basic_string_view<CharT>, test_format_string<CharT, Args...>, Args &&...) [CharT = char, Args = <std::chrono::time_point<std::chrono::local_t, std::chrono::duration<long long>>>]: Assertion `out == expected' failed.
# `-----------------------------
# error: command failed with exit status: 250
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV09v47YT_TTjy8CCRFmSdfDBsa3fb9EsWiy8BXoyKGpsMZVIg6QSu5--IK3E3m3SdoE9bSPoH8nHmUdy3kjk1sqDIlpAdgfZesIH12qzWCqn1adzw9tuUuvmvPiALX8kdK0hwvsPW3RkncU9l51UB9wb3SPksZLqgaNoSfw-FacT5DFqhcPROkO8x55L5Sv6M3Za8A57LlqpKMIPyHsclCDjPOapJdeSQdfS6EkbFLohlBafjFYHYCusBxcQwV_gYrEmwQdLoZ5ORxKOGnSyJ_xDK0Kpbmw2GpV22HMn2lCtB3ccnGdj-C1QK-QKlx_XuPnltxUWs5jhk3QtfqIG_88dbpQjczTSEt5LNZxwHs2Rq-YyLjEYQ8p1Z-_-fx-30yLCbUuBsWcXfHBDEK8hXkIej2coVhfQNoCAzVNgJaTLSyNi1z32007WAtgdsLupbbmhJhL7QyQVemC6ROsaYJWfhfER2bMCVu216blzZKK97GgXWo7c2kgcj9_ZQVjvVz18Jwf2bF8z_9Vs-jW5rjRK-yoKWIrRdDoVuu99D-saMmZ6c1xxUKzwy1IVOKF1xksDijtIl_fAMmCZgHQNrAhv4eEu9Ztrw2ZsUVCsv7S7eQ7nkfzV3gMNEcYJPnD1GGFSFjHGMaTL8eZjzhuNyxtX_7bP2-NcCjfw7pkNfgOfz9vVN_N57vM2Hxe5_hjRiXzAAKsO_ioZsMqETJYAq-7vf_24q37-9BOwKgTe0egHEs4XZe1TFqu8HoFV_xhyuyDcqIV0OUu8z0ctm0syAjb33UPs1txKsbtEw-5R0hOkq1XLzRbSjc9i3sruYnREvQDYCpfmYKMoGrG-hMByYLmvZCVCdhewCOkaRcvNFZauEdLVCw_RGq305d0PZ3fUUrm3EPZsHfU70Wk_mhW-CmoGw53UCtJVp9UB_c0zvZzZ2k_K0loyHuS_D9qHbbr21J6TM7BiTITRzXLm8fTvjiuSjNHG-3nW6phUQ3qmk_Q65G6wHsKyUd9-7t6F_i70_6rQ_df-IvBLeVe9VKzeBf8u-HfB_2CCv0WMf-I_nMZf_uEnzSJtyrTkE1okeVnMynjO8km7SPZxQkXJeFbP4zynms-I9nGR75M6EVRP5ILFLE3iJGdJks7yqJjPG9Y0xUzkZZOUc5jF1HPZRT7CIm0OE2ntQIu8ZFk86XhNnQ1bacauOxpgzG-tzSKEZT0cLMziTvoIezHjpOvCJnyM1WwN2V2IQsjW-FlJd7Pjxr02X6_dZDDdonXu6CcFWOUVIl071JHQ_SiJvyojsLfAqjCAPwMAAP__NHGbgg">