[partition] Set FS type explicitly if no layout is given
- the "simple" constructor for PartitionEntry left the FS type set as the constructor left it -- which is Unknown by default. This leads to install failures in systems that don't set a special layout but just want a single / -- because the FS is set to Unknown. - massage the constructor and consumer of the code, push Ext4 FS in the tests and use the configured default in production.
This commit is contained in:
parent
f78752303b
commit
23eabd74c6
@ -63,8 +63,9 @@ PartitionLayout::PartitionEntry::PartitionEntry()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
PartitionLayout::PartitionEntry::PartitionEntry( const QString& mountPoint, const QString& size, const QString& minSize, const QString& maxSize )
|
PartitionLayout::PartitionEntry::PartitionEntry( FileSystem::Type type, const QString& mountPoint, const QString& size, const QString& minSize, const QString& maxSize )
|
||||||
: partAttributes( 0 )
|
: partType( type )
|
||||||
|
, partAttributes( 0 )
|
||||||
, partMountPoint( mountPoint )
|
, partMountPoint( mountPoint )
|
||||||
, partSize( size )
|
, partSize( size )
|
||||||
, partMinSize( minSize )
|
, partMinSize( minSize )
|
||||||
@ -148,7 +149,7 @@ PartitionLayout::init( const QVariantList& config )
|
|||||||
|
|
||||||
if ( !m_partLayout.count() )
|
if ( !m_partLayout.count() )
|
||||||
{
|
{
|
||||||
addEntry( { QString( "/" ), QString( "100%" ) } );
|
addEntry( { m_defaultFsType, QString( "/" ), QString( "100%" ) } );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,8 +44,13 @@ public:
|
|||||||
|
|
||||||
/// @brief All-zeroes PartitionEntry
|
/// @brief All-zeroes PartitionEntry
|
||||||
PartitionEntry();
|
PartitionEntry();
|
||||||
/// @brief Parse @p mountPoint, @p size, @p minSize and @p maxSize to their respective member variables
|
/** @brief Parse @p mountPoint, @p size, @p minSize and @p maxSize to their respective member variables
|
||||||
PartitionEntry( const QString& mountPoint,
|
*
|
||||||
|
* Sets a specific FS type (not parsed from string like the other
|
||||||
|
* constructor).
|
||||||
|
*/
|
||||||
|
PartitionEntry( FileSystem::Type type,
|
||||||
|
const QString& mountPoint,
|
||||||
const QString& size,
|
const QString& size,
|
||||||
const QString& minSize = QString(),
|
const QString& minSize = QString(),
|
||||||
const QString& maxSize = QString() );
|
const QString& maxSize = QString() );
|
||||||
|
@ -59,7 +59,7 @@ CreateLayoutsTests::testFixedSizePartition()
|
|||||||
PartitionRole role( PartitionRole::Role::Any );
|
PartitionRole role( PartitionRole::Role::Any );
|
||||||
QList< Partition* > partitions;
|
QList< Partition* > partitions;
|
||||||
|
|
||||||
if ( !layout.addEntry( { QString( "/" ), QString( "5MiB" ) } ) )
|
if ( !layout.addEntry( { FileSystem::Type::Ext4, QString( "/" ), QString( "5MiB" ) } ) )
|
||||||
{
|
{
|
||||||
QFAIL( qPrintable( "Unable to create / partition" ) );
|
QFAIL( qPrintable( "Unable to create / partition" ) );
|
||||||
}
|
}
|
||||||
@ -79,7 +79,7 @@ CreateLayoutsTests::testPercentSizePartition()
|
|||||||
PartitionRole role( PartitionRole::Role::Any );
|
PartitionRole role( PartitionRole::Role::Any );
|
||||||
QList< Partition* > partitions;
|
QList< Partition* > partitions;
|
||||||
|
|
||||||
if ( !layout.addEntry( { QString( "/" ), QString( "50%" ) } ) )
|
if ( !layout.addEntry( { FileSystem::Type::Ext4, QString( "/" ), QString( "50%" ) } ) )
|
||||||
{
|
{
|
||||||
QFAIL( qPrintable( "Unable to create / partition" ) );
|
QFAIL( qPrintable( "Unable to create / partition" ) );
|
||||||
}
|
}
|
||||||
@ -99,17 +99,17 @@ CreateLayoutsTests::testMixedSizePartition()
|
|||||||
PartitionRole role( PartitionRole::Role::Any );
|
PartitionRole role( PartitionRole::Role::Any );
|
||||||
QList< Partition* > partitions;
|
QList< Partition* > partitions;
|
||||||
|
|
||||||
if ( !layout.addEntry( { QString( "/" ), QString( "5MiB" ) } ) )
|
if ( !layout.addEntry( { FileSystem::Type::Ext4, QString( "/" ), QString( "5MiB" ) } ) )
|
||||||
{
|
{
|
||||||
QFAIL( qPrintable( "Unable to create / partition" ) );
|
QFAIL( qPrintable( "Unable to create / partition" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !layout.addEntry( { QString( "/home" ), QString( "50%" ) } ) )
|
if ( !layout.addEntry( { FileSystem::Type::Ext4, QString( "/home" ), QString( "50%" ) } ) )
|
||||||
{
|
{
|
||||||
QFAIL( qPrintable( "Unable to create /home partition" ) );
|
QFAIL( qPrintable( "Unable to create /home partition" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !layout.addEntry( { QString( "/bkup" ), QString( "50%" ) } ) )
|
if ( !layout.addEntry( { FileSystem::Type::Ext4, QString( "/bkup" ), QString( "50%" ) } ) )
|
||||||
{
|
{
|
||||||
QFAIL( qPrintable( "Unable to create /bkup partition" ) );
|
QFAIL( qPrintable( "Unable to create /bkup partition" ) );
|
||||||
}
|
}
|
||||||
@ -124,7 +124,7 @@ CreateLayoutsTests::testMixedSizePartition()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_KPMCORE4API
|
#ifdef WITH_KPMCORE4API
|
||||||
// TODO: Get a clean way to instanciate a test Device from KPMCore
|
// TODO: Get a clean way to instantiate a test Device from KPMCore
|
||||||
class DevicePrivate
|
class DevicePrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user