mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:57:35 +00:00
Kernel/Ext2: Write superblock backups
We don't ever read them out, but this should make fsck a lot less mad.
This commit is contained in:
parent
cc1cb72fb5
commit
a0705202ea
4 changed files with 54 additions and 2 deletions
|
@ -7,6 +7,7 @@
|
|||
#include <LibTest/TestCase.h>
|
||||
|
||||
#include <AK/IntegralMath.h>
|
||||
#include <initializer_list>
|
||||
|
||||
TEST_CASE(pow)
|
||||
{
|
||||
|
@ -18,3 +19,20 @@ TEST_CASE(pow)
|
|||
EXPECT_EQ(AK::pow<u64>(10, 5), 100'000ull);
|
||||
EXPECT_EQ(AK::pow<u64>(10, 6), 1'000'000ull);
|
||||
}
|
||||
|
||||
TEST_CASE(is_power_of)
|
||||
{
|
||||
constexpr auto check_prime = []<u64 prime>(u64 limit) {
|
||||
for (u64 power = 0; power < limit; ++power)
|
||||
EXPECT(AK::is_power_of<prime>(AK::pow(prime, power)));
|
||||
};
|
||||
|
||||
// Limits calculated as floor( log_{prime}(2^64) ) to prevent overflows.
|
||||
check_prime.operator()<2>(64);
|
||||
check_prime.operator()<3>(40);
|
||||
check_prime.operator()<5>(27);
|
||||
check_prime.operator()<7>(20);
|
||||
check_prime.operator()<11>(18);
|
||||
check_prime.operator()<97>(9);
|
||||
check_prime.operator()<257>(7);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue