ktextwidgets on FreeBSD

Ben Cooksley bcooksley at kde.org
Sun Aug 5 00:41:01 BST 2018


On Sat, Aug 4, 2018 at 11:06 PM, David Faure <faure at kde.org> wrote:
> Anyone running FreeBSD, who could to try and debug this hanging unittest from the ktextwidgets framework?
>
> https://build.kde.org/view/Frameworks/job/Frameworks%20ktextwidgets%20kf5-qt5%20FreeBSDQt5.10/9/testReport/junit/(root)/TestSuite/ktextwidgets_krichtextedittest/
>
> There's no waiting of any kind in the code, it's straight QTextDocument usage, this shouldn't deadlock or anything.
> Yet it times out (after 30 seconds!!) quite often in CI.

This is a rather unusual failure, as the CI system is giving that test
5 minutes to timeout, after the test has finished.

Usually this happens when tests start background daemons and don't
kill those processes off before the test exits (which CTest doesn't
like).
However I don't think it's a background process sticking around in
this case as those type of hangs are usually
manual-intervention-required ones, which this isn't.

Unfortunately it seems that the issue has gone away though so it's not
possible to dig into this much further...
https://build.kde.org/view/Frameworks/job/Frameworks%20ktextwidgets%20kf5-qt5%20FreeBSDQt5.10/22/

>
> Just a backtrace would be very useful already.....
>
>
> void KRichTextEditTest::testUpdateLinkAdd()
> {
>     KRichTextEdit edit;
>     edit.enableRichTextMode();
>
>     // Add text, apply initial formatting, and add a link
>     QTextCursor cursor = edit.textCursor();
>     cursor.insertText(QStringLiteral("Test"));
>     QTextCharFormat charFormat = cursor.charFormat();
>     // Note that QTextEdit doesn't use the palette. Black is black.
>     QCOMPARE(charFormat.foreground().color().name(), QColor(Qt::black).name());
>
>     cursor.select(QTextCursor::BlockUnderCursor);
>     edit.setTextCursor(cursor);
>     edit.setTextBold(true);
>     edit.setTextItalic(true);
>     edit.updateLink(QStringLiteral("http://www.kde.org"), QStringLiteral("KDE"));
>
>     // Validate text and formatting
>     cursor.movePosition(QTextCursor::Start);
>     cursor.select(QTextCursor::WordUnderCursor);
>     edit.setTextCursor(cursor);
>     QCOMPARE(edit.toPlainText(), QStringLiteral("KDE "));
>     QCOMPARE(edit.fontItalic(), true);
>     QCOMPARE(edit.fontWeight(), static_cast<int>(QFont::Bold));
>     QCOMPARE(edit.fontUnderline(), true);
>     charFormat = cursor.charFormat();
>     QCOMPARE(charFormat.foreground(), QBrush(KColorScheme(QPalette::Active, KColorScheme::View).foreground(KColorScheme::LinkText).color()));
>     QCOMPARE(charFormat.underlineColor(), KColorScheme(QPalette::Active, KColorScheme::View).foreground(KColorScheme::LinkText).color());
>     QCOMPARE(charFormat.underlineStyle(), QTextCharFormat::SingleUnderline);
> }
>
> --
> David Faure, faure at kde.org, http://www.davidfaure.fr
> Working on KDE Frameworks 5
>
>
>

Cheers,
Ben


More information about the kde-freebsd mailing list