Modules: chase API change, use std::chrono::seconds
This commit is contained in:
parent
e2504627aa
commit
a0854a999e
@ -170,7 +170,7 @@ ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, timeout );
|
CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, std::chrono::seconds( timeout ) );
|
||||||
|
|
||||||
binding->append( valueString, commands );
|
binding->append( valueString, commands );
|
||||||
}
|
}
|
||||||
|
@ -74,8 +74,8 @@ InitcpioJob::exec()
|
|||||||
|
|
||||||
cDebug() << "Updating initramfs with kernel" << m_kernel;
|
cDebug() << "Updating initramfs with kernel" << m_kernel;
|
||||||
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
||||||
{ "mkinitcpio", "-p", m_kernel }, QString(), QString(), 0 );
|
{ "mkinitcpio", "-p", m_kernel }, QString(), QString() /* no timeout , 0 */ );
|
||||||
return r.explainProcess( "mkinitcpio", 10 );
|
return r.explainProcess( "mkinitcpio", std::chrono::seconds( 10 ) /* fake timeout */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -89,7 +89,7 @@ InitcpioJob::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
else if ( m_kernel == "$uname" )
|
else if ( m_kernel == "$uname" )
|
||||||
{
|
{
|
||||||
auto r = CalamaresUtils::System::runCommand(
|
auto r = CalamaresUtils::System::runCommand(
|
||||||
CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 );
|
CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), std::chrono::seconds( 3 ) );
|
||||||
if ( r.getExitCode() == 0 )
|
if ( r.getExitCode() == 0 )
|
||||||
{
|
{
|
||||||
m_kernel = r.getOutput();
|
m_kernel = r.getOutput();
|
||||||
|
@ -63,8 +63,8 @@ InitramfsJob::exec()
|
|||||||
|
|
||||||
// And then do the ACTUAL work.
|
// And then do the ACTUAL work.
|
||||||
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
||||||
{ "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString(), 0 );
|
{ "update-initramfs", "-k", m_kernel, "-c", "-t" }, QString(), QString() /* no timeout, 0 */ );
|
||||||
return r.explainProcess( "update-initramfs", 10 );
|
return r.explainProcess( "update-initramfs", std::chrono::seconds( 10 ) /* fake timeout */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ InitramfsJob::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
else if ( m_kernel == "$uname" )
|
else if ( m_kernel == "$uname" )
|
||||||
{
|
{
|
||||||
auto r = CalamaresUtils::System::runCommand(
|
auto r = CalamaresUtils::System::runCommand(
|
||||||
CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), 3 );
|
CalamaresUtils::System::RunLocation::RunInHost, { "/bin/uname", "-r" }, QString(), QString(), std::chrono::seconds( 3 ) );
|
||||||
if ( r.getExitCode() == 0 )
|
if ( r.getExitCode() == 0 )
|
||||||
{
|
{
|
||||||
m_kernel = r.getOutput();
|
m_kernel = r.getOutput();
|
||||||
|
@ -130,7 +130,7 @@ static bool
|
|||||||
setupLuks( const LuksDevice& d )
|
setupLuks( const LuksDevice& d )
|
||||||
{
|
{
|
||||||
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
auto r = CalamaresUtils::System::instance()->targetEnvCommand(
|
||||||
{ "cryptsetup", "luksAddKey", d.device, keyfile }, QString(), d.passphrase, 15 );
|
{ "cryptsetup", "luksAddKey", d.device, keyfile }, QString(), d.passphrase, std::chrono::seconds( 15 ) );
|
||||||
if ( r.getExitCode() != 0 )
|
if ( r.getExitCode() != 0 )
|
||||||
{
|
{
|
||||||
cWarning() << "Could not configure LUKS keyfile on" << d.device << ':' << r.getOutput() << "(exit code"
|
cWarning() << "Could not configure LUKS keyfile on" << d.device << ':' << r.getOutput() << "(exit code"
|
||||||
|
@ -75,7 +75,7 @@ ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
|
|
||||||
if ( configurationMap.contains( "script" ) )
|
if ( configurationMap.contains( "script" ) )
|
||||||
{
|
{
|
||||||
m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, timeout );
|
m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, std::chrono::seconds( timeout ) );
|
||||||
if ( m_commands->isEmpty() )
|
if ( m_commands->isEmpty() )
|
||||||
cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey();
|
cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey();
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,8 @@
|
|||||||
QTEST_GUILESS_MAIN( ShellProcessTests )
|
QTEST_GUILESS_MAIN( ShellProcessTests )
|
||||||
|
|
||||||
using CommandList = CalamaresUtils::CommandList;
|
using CommandList = CalamaresUtils::CommandList;
|
||||||
|
using std::operator""s;
|
||||||
|
|
||||||
|
|
||||||
ShellProcessTests::ShellProcessTests()
|
ShellProcessTests::ShellProcessTests()
|
||||||
{
|
{
|
||||||
@ -68,8 +70,9 @@ ShellProcessTests::testProcessListSampleConfig()
|
|||||||
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
||||||
QVERIFY( !cl.isEmpty() );
|
QVERIFY( !cl.isEmpty() );
|
||||||
QCOMPARE( cl.count(), 3 );
|
QCOMPARE( cl.count(), 3 );
|
||||||
QCOMPARE( cl.at(0).timeout(), -1 );
|
|
||||||
QCOMPARE( cl.at(2).timeout(), 3600 ); // slowloris
|
QCOMPARE( cl.at(0).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() );
|
||||||
|
QCOMPARE( cl.at(2).timeout(), 3600s ); // slowloris
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShellProcessTests::testProcessListFromList()
|
void ShellProcessTests::testProcessListFromList()
|
||||||
@ -105,9 +108,10 @@ script: "ls /tmp"
|
|||||||
)" );
|
)" );
|
||||||
CommandList cl(
|
CommandList cl(
|
||||||
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
||||||
|
|
||||||
QVERIFY( !cl.isEmpty() );
|
QVERIFY( !cl.isEmpty() );
|
||||||
QCOMPARE( cl.count(), 1 );
|
QCOMPARE( cl.count(), 1 );
|
||||||
QCOMPARE( cl.at(0).timeout(), 10 );
|
QCOMPARE( cl.at(0).timeout(), 10s );
|
||||||
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
||||||
|
|
||||||
// Not a string
|
// Not a string
|
||||||
@ -118,7 +122,6 @@ script: false
|
|||||||
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
||||||
QVERIFY( cl1.isEmpty() );
|
QVERIFY( cl1.isEmpty() );
|
||||||
QCOMPARE( cl1.count(), 0 );
|
QCOMPARE( cl1.count(), 0 );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShellProcessTests::testProcessFromObject()
|
void ShellProcessTests::testProcessFromObject()
|
||||||
@ -130,9 +133,10 @@ script:
|
|||||||
)" );
|
)" );
|
||||||
CommandList cl(
|
CommandList cl(
|
||||||
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
||||||
|
|
||||||
QVERIFY( !cl.isEmpty() );
|
QVERIFY( !cl.isEmpty() );
|
||||||
QCOMPARE( cl.count(), 1 );
|
QCOMPARE( cl.count(), 1 );
|
||||||
QCOMPARE( cl.at(0).timeout(), 20 );
|
QCOMPARE( cl.at(0).timeout(), 20s );
|
||||||
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,9 +152,9 @@ script:
|
|||||||
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) );
|
||||||
QVERIFY( !cl.isEmpty() );
|
QVERIFY( !cl.isEmpty() );
|
||||||
QCOMPARE( cl.count(), 2 );
|
QCOMPARE( cl.count(), 2 );
|
||||||
QCOMPARE( cl.at(0).timeout(), 12 );
|
QCOMPARE( cl.at(0).timeout(), 12s );
|
||||||
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) );
|
||||||
QCOMPARE( cl.at(1).timeout(), -1 ); // not set
|
QCOMPARE( cl.at(1).timeout(), CalamaresUtils::CommandLine::TimeoutNotSet() ); // not set
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShellProcessTests::testRootSubstitution()
|
void ShellProcessTests::testRootSubstitution()
|
||||||
@ -182,30 +186,31 @@ script:
|
|||||||
QVERIFY( gs != nullptr );
|
QVERIFY( gs != nullptr );
|
||||||
|
|
||||||
qDebug() << "Expect WARNING, ERROR, WARNING";
|
qDebug() << "Expect WARNING, ERROR, WARNING";
|
||||||
|
|
||||||
// Doesn't use @@ROOT@@, so no failures
|
// Doesn't use @@ROOT@@, so no failures
|
||||||
QVERIFY( bool(CommandList(plainScript, false, 10 ).run()) );
|
QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) );
|
||||||
|
|
||||||
// Doesn't use @@ROOT@@, but does chroot, so fails
|
// Doesn't use @@ROOT@@, but does chroot, so fails
|
||||||
QVERIFY( !bool(CommandList(plainScript, true, 10 ).run()) );
|
QVERIFY( !bool(CommandList(plainScript, true, 10s ).run()) );
|
||||||
|
|
||||||
// Does use @@ROOT@@, which is not set, so fails
|
// Does use @@ROOT@@, which is not set, so fails
|
||||||
QVERIFY( !bool(CommandList(rootScript, false, 10 ).run()) );
|
QVERIFY( !bool(CommandList(rootScript, false, 10s ).run()) );
|
||||||
// .. fails for two reasons
|
// .. fails for two reasons
|
||||||
QVERIFY( !bool(CommandList(rootScript, true, 10 ).run()) );
|
QVERIFY( !bool(CommandList(rootScript, true, 10s ).run()) );
|
||||||
|
|
||||||
gs->insert( "rootMountPoint", "/tmp" );
|
gs->insert( "rootMountPoint", "/tmp" );
|
||||||
// Now that the root is set, two variants work .. still can't
|
// Now that the root is set, two variants work .. still can't
|
||||||
// chroot, unless the rootMountPoint contains a full system,
|
// chroot, unless the rootMountPoint contains a full system,
|
||||||
// *and* we're allowed to chroot (ie. running tests as root).
|
// *and* we're allowed to chroot (ie. running tests as root).
|
||||||
qDebug() << "Expect no output.";
|
qDebug() << "Expect no output.";
|
||||||
QVERIFY( bool(CommandList(plainScript, false, 10 ).run()) );
|
QVERIFY( bool(CommandList(plainScript, false, 10s ).run()) );
|
||||||
QVERIFY( bool(CommandList(rootScript, false, 10 ).run()) );
|
QVERIFY( bool(CommandList(rootScript, false, 10s ).run()) );
|
||||||
|
|
||||||
qDebug() << "Expect ERROR";
|
qDebug() << "Expect ERROR";
|
||||||
// But no user set yet
|
// But no user set yet
|
||||||
QVERIFY( !bool(CommandList(userScript, false, 10 ).run()) );
|
QVERIFY( !bool(CommandList(userScript, false, 10s ).run()) );
|
||||||
|
|
||||||
// Now play dangerous games with shell expansion
|
// Now play dangerous games with shell expansion
|
||||||
gs->insert( "username", "`id -u`" );
|
gs->insert( "username", "`id -u`" );
|
||||||
QVERIFY( bool(CommandList(userScript, false, 10 ).run()) );
|
QVERIFY( bool(CommandList(userScript, false, 10s ).run()) );
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ sed -i "s,URI =.*,URI = http://releases.neon.kde.org/meta-release/${MACHINE_ID},
|
|||||||
sed -i "s,URI_LTS =.*,URI_LTS = http://releases.neon.kde.org/meta-release-lts/${MACHINE_ID}," /etc/update-manager/meta-release
|
sed -i "s,URI_LTS =.*,URI_LTS = http://releases.neon.kde.org/meta-release-lts/${MACHINE_ID}," /etc/update-manager/meta-release
|
||||||
true
|
true
|
||||||
)x"),
|
)x"),
|
||||||
1);
|
std::chrono::seconds( 1 ) );
|
||||||
|
|
||||||
if ( r == 0 )
|
if ( r == 0 )
|
||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
|
@ -158,7 +158,7 @@ CreateUserJob::exec()
|
|||||||
if ( commandResult.getExitCode() )
|
if ( commandResult.getExitCode() )
|
||||||
{
|
{
|
||||||
cError() << "useradd failed" << commandResult.getExitCode();
|
cError() << "useradd failed" << commandResult.getExitCode();
|
||||||
return commandResult.explainProcess( useradd, 10 /* bogus timeout */ );
|
return commandResult.explainProcess( useradd, std::chrono::seconds( 10 ) /* bogus timeout */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
commandResult = CalamaresUtils::System::instance()->targetEnvCommand(
|
commandResult = CalamaresUtils::System::instance()->targetEnvCommand(
|
||||||
@ -166,7 +166,7 @@ CreateUserJob::exec()
|
|||||||
if ( commandResult.getExitCode() )
|
if ( commandResult.getExitCode() )
|
||||||
{
|
{
|
||||||
cError() << "usermod failed" << commandResult.getExitCode();
|
cError() << "usermod failed" << commandResult.getExitCode();
|
||||||
return commandResult.explainProcess( "usermod", 10 );
|
return commandResult.explainProcess( "usermod", std::chrono::seconds( 10 ) /* bogus timeout */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
QString userGroup = QString( "%1:%2" ).arg( m_userName ).arg( m_userName );
|
QString userGroup = QString( "%1:%2" ).arg( m_userName ).arg( m_userName );
|
||||||
@ -176,7 +176,7 @@ CreateUserJob::exec()
|
|||||||
if ( commandResult.getExitCode() )
|
if ( commandResult.getExitCode() )
|
||||||
{
|
{
|
||||||
cError() << "chown failed" << commandResult.getExitCode();
|
cError() << "chown failed" << commandResult.getExitCode();
|
||||||
return commandResult.explainProcess( "chown", 10 );
|
return commandResult.explainProcess( "chown", std::chrono::seconds( 10 ) /* bogus timeout */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
|
Loading…
Reference in New Issue
Block a user