-
Notifications
You must be signed in to change notification settings - Fork 38.7k
Make tests pass after 2020 #13061
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make tests pass after 2020 #13061
Conversation
also test that 64 bit integers are properly handled
|
Thanks. utACK 3ee4be1 With the mention that it would be possible to avoid having this issue again forever (though 2283 is pretty much that) by using GetTime()+2y or so, or setting a mock time. |
|
Very nice catch! Excellent first-time contribution! Hope to see more contributions from you. May I ask how you found this issue? utACK 3ee4be1 |
|
utACK 3ee4be1 |
3ee4be1 Make tests pass after 2020 (Bernhard M. Wiedemann) Pull request description: Make tests pass after 2020 and also test that 64 bit integers are properly handled Without this patch, the failure was ``` unknown location(0): fatal error: in "rpc_tests/rpc_ban": std::runtime_error: JSON value is not an object as expected test/rpc_tests.cpp(260): last checkpoint ``` I found this when testing reproducible builds for openSUSE Linux packages, building 15 years from now (this is the expected lifespan of today's software) There is 1 other issue in ./src/qt/test/paymentservertests.cpp that fails to verify a cert that expires in 2022 after 10y. ``` QWARN : PaymentServerTests::paymentServerTests() PaymentRequestPlus::getMerchant: Payment request: certificate expired or not yet active: QSslCertificate("3", "01", "Ipbt+DxK8RDQd25/5ueXqw==", (), ("Payment Request Test Merchant"), QMap(), QDateTime(2012-12-10 16:37:24.000 UTC Qt::TimeSpec(UTC)), QDateTime(2022-12-08 16:37:24.000 UTC Qt::TimeSpec(UTC))) FAIL! : PaymentServerTests::paymentServerTests() Compared values are not the same ``` Tree-SHA512: d6c49879b6abbddbecc1168ac24c2d4f4ee9949b615607b3e6ba350c415136017f32cd112708791b063a2f2dc1b12f295f4ee55a346bd2128aa6480088d8db48
|
@practicalswift I use the |
also test that 64 bit integers are properly handled Github-Pull: bitcoin#13061 Rebased-From: 3ee4be1
Summary: 3ee4be1 Make tests pass after 2020 (Bernhard M. Wiedemann) Pull request description: Make tests pass after 2020 and also test that 64 bit integers are properly handled Without this patch, the failure was ``` unknown location(0): fatal error: in "rpc_tests/rpc_ban": std::runtime_error: JSON value is not an object as expected test/rpc_tests.cpp(260): last checkpoint ``` I found this when testing reproducible builds for openSUSE Linux packages, building 15 years from now (this is the expected lifespan of today's software) There is 1 other issue in ./src/qt/test/paymentservertests.cpp that fails to verify a cert that expires in 2022 after 10y. ``` QWARN : PaymentServerTests::paymentServerTests() PaymentRequestPlus::getMerchant: Payment request: certificate expired or not yet active: QSslCertificate("3", "01", "Ipbt+DxK8RDQd25/5ueXqw==", (), ("Payment Request Test Merchant"), QMap(), QDateTime(2012-12-10 16:37:24.000 UTC Qt::TimeSpec(UTC)), QDateTime(2022-12-08 16:37:24.000 UTC Qt::TimeSpec(UTC))) FAIL! : PaymentServerTests::paymentServerTests() Compared values are not the same ``` Tree-SHA512: d6c49879b6abbddbecc1168ac24c2d4f4ee9949b615607b3e6ba350c415136017f32cd112708791b063a2f2dc1b12f295f4ee55a346bd2128aa6480088d8db48 Backport of Core [[bitcoin/bitcoin#13061 | PR13061]] Test Plan: ``` faketime '2022-01-01' ninja check-bitcoin-rpc_tests ``` Fails pre-patch, passes post-patch Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D5569
3ee4be1 Make tests pass after 2020 (Bernhard M. Wiedemann) Pull request description: Make tests pass after 2020 and also test that 64 bit integers are properly handled Without this patch, the failure was ``` unknown location(0): fatal error: in "rpc_tests/rpc_ban": std::runtime_error: JSON value is not an object as expected test/rpc_tests.cpp(260): last checkpoint ``` I found this when testing reproducible builds for openSUSE Linux packages, building 15 years from now (this is the expected lifespan of today's software) There is 1 other issue in ./src/qt/test/paymentservertests.cpp that fails to verify a cert that expires in 2022 after 10y. ``` QWARN : PaymentServerTests::paymentServerTests() PaymentRequestPlus::getMerchant: Payment request: certificate expired or not yet active: QSslCertificate("3", "01", "Ipbt+DxK8RDQd25/5ueXqw==", (), ("Payment Request Test Merchant"), QMap(), QDateTime(2012-12-10 16:37:24.000 UTC Qt::TimeSpec(UTC)), QDateTime(2022-12-08 16:37:24.000 UTC Qt::TimeSpec(UTC))) FAIL! : PaymentServerTests::paymentServerTests() Compared values are not the same ``` Tree-SHA512: d6c49879b6abbddbecc1168ac24c2d4f4ee9949b615607b3e6ba350c415136017f32cd112708791b063a2f2dc1b12f295f4ee55a346bd2128aa6480088d8db48
Summary: 3ee4be1 Make tests pass after 2020 (Bernhard M. Wiedemann) Pull request description: Make tests pass after 2020 and also test that 64 bit integers are properly handled Without this patch, the failure was ``` unknown location(0): fatal error: in "rpc_tests/rpc_ban": std::runtime_error: JSON value is not an object as expected test/rpc_tests.cpp(260): last checkpoint ``` I found this when testing reproducible builds for openSUSE Linux packages, building 15 years from now (this is the expected lifespan of today's software) There is 1 other issue in ./src/qt/test/paymentservertests.cpp that fails to verify a cert that expires in 2022 after 10y. ``` QWARN : PaymentServerTests::paymentServerTests() PaymentRequestPlus::getMerchant: Payment request: certificate expired or not yet active: QSslCertificate("3", "01", "Ipbt+DxK8RDQd25/5ueXqw==", (), ("Payment Request Test Merchant"), QMap(), QDateTime(2012-12-10 16:37:24.000 UTC Qt::TimeSpec(UTC)), QDateTime(2022-12-08 16:37:24.000 UTC Qt::TimeSpec(UTC))) FAIL! : PaymentServerTests::paymentServerTests() Compared values are not the same ``` Tree-SHA512: d6c49879b6abbddbecc1168ac24c2d4f4ee9949b615607b3e6ba350c415136017f32cd112708791b063a2f2dc1b12f295f4ee55a346bd2128aa6480088d8db48 Backport of Core [[bitcoin/bitcoin#13061 | PR13061]] Test Plan: ``` faketime '2022-01-01' ninja check-bitcoin-rpc_tests ``` Fails pre-patch, passes post-patch Reviewers: #bitcoin_abc, Fabien Reviewed By: #bitcoin_abc, Fabien Subscribers: Fabien Differential Revision: https://reviews.bitcoinabc.org/D5569
e0ba82b Make tests pass after 2020 (Bernhard M. Wiedemann) Pull request description: Fixing `rpc_ban` unit test, failing in master due an invalid timestamp. Coming from bitcoin#13061 ACKs for top commit: random-zebra: utACK e0ba82b and merging... Tree-SHA512: 70d429bfc9929ad10048a0866994213b092c1e10146eca7daeb33f2a532b90dc154275234a80f8884bf5c52ae156487dce73dc18bec38de2169f7051e71766d1
banlist.dat: store banlist on disk Cherry-picked from the following upstream PRs: - bitcoin/bitcoin#6310 - bitcoin/bitcoin#6315 - Only the new signal and net changes, no QT. - bitcoin/bitcoin#7350 - bitcoin/bitcoin#7458 - bitcoin/bitcoin#7696 - bitcoin/bitcoin#7959 - bitcoin/bitcoin#7906 - Only the ban-related commits. - bitcoin/bitcoin#8392 - Only the second commit. - bitcoin/bitcoin#8085 - Only the second commit. - bitcoin/bitcoin#10564 - bitcoin/bitcoin#13061 - Wasn't needed when I first made this backport in 2017, but it is now! Part of #2074.
banlist.dat: store banlist on disk Cherry-picked from the following upstream PRs: - bitcoin/bitcoin#6310 - bitcoin/bitcoin#6315 - Only the new signal and net changes, no QT. - bitcoin/bitcoin#7350 - bitcoin/bitcoin#7458 - bitcoin/bitcoin#7696 - bitcoin/bitcoin#7959 - bitcoin/bitcoin#7906 - Only the ban-related commits. - bitcoin/bitcoin#8392 - Only the second commit. - bitcoin/bitcoin#8085 - Only the second commit. - bitcoin/bitcoin#10564 - bitcoin/bitcoin#13061 - Wasn't needed when I first made this backport in 2017, but it is now! Part of #2074.
Make tests pass after 2020
and also test that 64 bit integers are properly handled
Without this patch, the failure was
I found this when testing reproducible builds for openSUSE Linux packages, building 15 years from now (this is the expected lifespan of today's software)
There is 1 other issue in ./src/qt/test/paymentservertests.cpp that fails to verify a cert that expires in 2022 after 10y.