File indexing completed on 2025-01-05 04:37:19

0001 /*
0002     SPDX-FileCopyrightText: 2010 Joris Guisson <joris.guisson@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include <QObject>
0008 #include <QtTest>
0009 #include <net/wakeuppipe.h>
0010 #include <util/log.h>
0011 #include <util/pipe.h>
0012 
0013 using namespace net;
0014 using namespace bt;
0015 
0016 class WakeUpPipeTest : public QEventLoop
0017 {
0018     Q_OBJECT
0019 public:
0020 public Q_SLOTS:
0021 
0022 private Q_SLOTS:
0023     void initTestCase()
0024     {
0025         bt::InitLog("wakeuppipetest.log");
0026     }
0027 
0028     void cleanupTestCase()
0029     {
0030     }
0031 
0032     void testWakeUp()
0033     {
0034         Poll poll;
0035         WakeUpPipe::Ptr p(new WakeUpPipe);
0036         p->wakeUp();
0037 
0038         poll.add(p);
0039         QVERIFY(poll.poll() > 0);
0040     }
0041 
0042     void testEmptyWakeUp()
0043     {
0044         WakeUpPipe::Ptr p(new WakeUpPipe);
0045         Poll poll;
0046         poll.add(p);
0047         QVERIFY(poll.poll(100) == 0);
0048     }
0049 
0050 private:
0051 };
0052 
0053 QTEST_MAIN(WakeUpPipeTest)
0054 
0055 #include "wakeuppipetest.moc"