diff --git a/src/libcalamares/partition/PartitionSize.h b/src/libcalamares/partition/PartitionSize.h index 975ebd887..da15a5e80 100644 --- a/src/libcalamares/partition/PartitionSize.h +++ b/src/libcalamares/partition/PartitionSize.h @@ -92,7 +92,8 @@ public: /** @brief Convert the size to bytes. * * This method is only valid for sizes in Bytes, KiB, MiB or GiB. - * It will return -1 in any other case. + * It will return -1 in any other case. Note that 0KiB and 0MiB and + * 0GiB are considered **invalid** sizes and return -1. * * @return the size in bytes, or -1 if it cannot be calculated. */ diff --git a/src/libcalamares/partition/Tests.cpp b/src/libcalamares/partition/Tests.cpp index ac2d4f431..78d8a42a0 100644 --- a/src/libcalamares/partition/Tests.cpp +++ b/src/libcalamares/partition/Tests.cpp @@ -105,33 +105,33 @@ PartitionSizeTests::testUnitNormalisation_data() { QTest::addColumn("u1"); QTest::addColumn("v"); - QTest::addColumn("bytes"); + QTest::addColumn("bytes"); using Calamares::SizeUnit; - QTest::newRow("none") << SizeUnit::None << 16 << -1; - QTest::newRow("none") << SizeUnit::None << 0 << -1; - QTest::newRow("none") << SizeUnit::None << -2 << -1; + QTest::newRow("none") << SizeUnit::None << 16 << -1L; + QTest::newRow("none") << SizeUnit::None << 0 << -1L; + QTest::newRow("none") << SizeUnit::None << -2 << -1L; - QTest::newRow("percent") << SizeUnit::Percent << 0 << -1; - QTest::newRow("percent") << SizeUnit::Percent << 16 << -1; - QTest::newRow("percent") << SizeUnit::Percent << -2 << -1; + QTest::newRow("percent") << SizeUnit::Percent << 0 << -1L; + QTest::newRow("percent") << SizeUnit::Percent << 16 << -1L; + QTest::newRow("percent") << SizeUnit::Percent << -2 << -1L; - QTest::newRow("KiB") << SizeUnit::KiB << 0 << 0; - QTest::newRow("KiB") << SizeUnit::KiB << 1 << 1024; - QTest::newRow("KiB") << SizeUnit::KiB << 1000 << 1024000; - QTest::newRow("KiB") << SizeUnit::KiB << 1024 << 1024 * 1024; - QTest::newRow("KiB") << SizeUnit::KiB << -2 << -1; + QTest::newRow("KiB") << SizeUnit::KiB << 0 << -1L; + QTest::newRow("KiB") << SizeUnit::KiB << 1 << 1024L; + QTest::newRow("KiB") << SizeUnit::KiB << 1000 << 1024000L; + QTest::newRow("KiB") << SizeUnit::KiB << 1024 << 1024 * 1024L; + QTest::newRow("KiB") << SizeUnit::KiB << -2 << -1L; - QTest::newRow("MiB") << SizeUnit::MiB << 0 << 0; - QTest::newRow("MiB") << SizeUnit::MiB << 1 << 1024 * 1024; - QTest::newRow("MiB") << SizeUnit::MiB << 1000 << 1024 * 1024000; - QTest::newRow("MiB") << SizeUnit::MiB << 1024 << 1024 * 1024 * 1024; - QTest::newRow("MiB") << SizeUnit::MiB << -2 << -1; + QTest::newRow("MiB") << SizeUnit::MiB << 0 << -1L; + QTest::newRow("MiB") << SizeUnit::MiB << 1 << 1024 * 1024L; + QTest::newRow("MiB") << SizeUnit::MiB << 1000 << 1024 * 1024000L; + QTest::newRow("MiB") << SizeUnit::MiB << 1024 << 1024 * 1024 * 1024L; + QTest::newRow("MiB") << SizeUnit::MiB << -2 << -1L; - QTest::newRow("GiB") << SizeUnit::GiB << 0 << 0; - QTest::newRow("GiB") << SizeUnit::GiB << 1 << 1024 * 1024 * 1024; - QTest::newRow("GiB") << SizeUnit::GiB << 2 << 2 * 1024 * 1024 * 1024; + QTest::newRow("GiB") << SizeUnit::GiB << 0 << -1L; + QTest::newRow("GiB") << SizeUnit::GiB << 1 << 1024 * 1024 * 1024L; + QTest::newRow("GiB") << SizeUnit::GiB << 2 << 2048 * 1024 * 1024L; } void @@ -139,7 +139,7 @@ PartitionSizeTests::testUnitNormalisation() { QFETCH( Calamares::SizeUnit, u1 ); QFETCH( int, v ); - QFETCH( int, bytes ); + QFETCH( long, bytes ); QCOMPARE( Calamares::PartitionSize( v, u1 ).toBytes(), static_cast( bytes ) ); }