diff --git a/src/modules/users/Tests.cpp b/src/modules/users/Tests.cpp index 9c410cb1f..9a4005f21 100644 --- a/src/modules/users/Tests.cpp +++ b/src/modules/users/Tests.cpp @@ -297,6 +297,13 @@ UserTests::testHostSuggestions_data() << QStringLiteral( "chuck-pc" ); // Avoid ${product} because it's DMI-based QTest::newRow( "full " ) << QStringLiteral( "${name}" ) << QStringLiteral( "chuckyeager" ); QTest::newRow( "login+ " ) << QStringLiteral( "${login}-${first}" ) << QStringLiteral( "bill-chuck" ); + // This is a bit dodgy: assumes CPU architecture of the testing host + QTest::newRow( " cpu " ) << QStringLiteral( "${cpu}X" ) << QStringLiteral( "x8664X" ); // Assume we don't test on non-amd64 + // These have X X in the template to indicate that they are bogus. Mostly we want + // to see what the template engine does for these. + QTest::newRow( "@prod " ) << QStringLiteral( "X${product}X" ) << QString(); + QTest::newRow( "@prod2 " ) << QStringLiteral( "X${product2}X" ) << QString(); + QTest::newRow( "@host " ) << QStringLiteral( "X${host}X" ) << QString(); } void @@ -308,6 +315,11 @@ UserTests::testHostSuggestions() QFETCH( QString, templateString ); QFETCH( QString, result ); + if ( templateString.startsWith('X') && templateString.endsWith('X')) + { + QEXPECT_FAIL( "", "Test is too host-specific", Continue ); + cWarning() << Logger::SubEntry << "Next test" << templateString << "->" << makeHostnameSuggestion( templateString, fullName, login ); + } QCOMPARE( makeHostnameSuggestion( templateString, fullName, login ), result ); }