qt,tests: Make test pass on 32-bit systems
* lang/qt/tests/t-addexistingsubkey.cpp (AddExistingSubkeyJobTest::testAddExistingSubkeyWithExpiration): Handle negative expiration date. -- On 32-bit systems the expiration date of the test key overflows. This will cause the AddExistingSubkeyJob to fail. We expect it to fail with an "invalid time" error. GnuPG-bug-id: 6137
This commit is contained in:
parent
2fa5c80aeb
commit
2e7a61b898
@ -213,24 +213,30 @@ private Q_SLOTS:
|
||||
|
||||
const auto result = job->exec(key, sourceSubkey);
|
||||
|
||||
QCOMPARE(result.code(), static_cast<int>(GPG_ERR_NO_ERROR));
|
||||
key.update();
|
||||
QCOMPARE(key.numSubkeys(), 3u);
|
||||
if (sourceSubkey.expirationTime() > 0) {
|
||||
QCOMPARE(result.code(), static_cast<int>(GPG_ERR_NO_ERROR));
|
||||
key.update();
|
||||
QCOMPARE(key.numSubkeys(), 3u);
|
||||
|
||||
// allow 1 second different expiration because gpg calculates with
|
||||
// expiration as difference to current time and takes current time
|
||||
// several times
|
||||
const auto allowedDeltaTSeconds = 1;
|
||||
const auto expectedExpirationRange = std::make_pair(
|
||||
uint_least32_t(sourceSubkey.expirationTime()) - allowedDeltaTSeconds,
|
||||
uint_least32_t(sourceSubkey.expirationTime()) + allowedDeltaTSeconds);
|
||||
const auto actualExpiration = uint_least32_t(key.subkey(2).expirationTime());
|
||||
QVERIFY2(actualExpiration >= expectedExpirationRange.first,
|
||||
("actual: " + std::to_string(actualExpiration) +
|
||||
"; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
|
||||
QVERIFY2(actualExpiration <= expectedExpirationRange.second,
|
||||
("actual: " + std::to_string(actualExpiration) +
|
||||
"; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
|
||||
// allow 1 second different expiration because gpg calculates with
|
||||
// expiration as difference to current time and takes current time
|
||||
// several times
|
||||
const auto allowedDeltaTSeconds = 1;
|
||||
const auto expectedExpirationRange = std::make_pair(
|
||||
uint_least32_t(sourceSubkey.expirationTime()) - allowedDeltaTSeconds,
|
||||
uint_least32_t(sourceSubkey.expirationTime()) + allowedDeltaTSeconds);
|
||||
const auto actualExpiration = uint_least32_t(key.subkey(2).expirationTime());
|
||||
QVERIFY2(actualExpiration >= expectedExpirationRange.first,
|
||||
("actual: " + std::to_string(actualExpiration) +
|
||||
"; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
|
||||
QVERIFY2(actualExpiration <= expectedExpirationRange.second,
|
||||
("actual: " + std::to_string(actualExpiration) +
|
||||
"; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
|
||||
} else {
|
||||
// on 32-bit systems the expiration date of the test key overflows;
|
||||
// in this case we expect an appropriate error code
|
||||
QCOMPARE(result.code(), static_cast<int>(GPG_ERR_INV_TIME));
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user