summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/QA/FileTransferTest')
-rw-r--r--Swiften/QA/FileTransferTest/FileTransferTest.cpp35
1 files changed, 20 insertions, 15 deletions
diff --git a/Swiften/QA/FileTransferTest/FileTransferTest.cpp b/Swiften/QA/FileTransferTest/FileTransferTest.cpp
index 2d2d6c8..8faf8a9 100644
--- a/Swiften/QA/FileTransferTest/FileTransferTest.cpp
+++ b/Swiften/QA/FileTransferTest/FileTransferTest.cpp
@@ -5,32 +5,32 @@
5 */ 5 */
6 6
7#include <fstream> 7#include <fstream>
8 8
9#include <boost/algorithm/string.hpp> 9#include <boost/algorithm/string.hpp>
10#include <boost/numeric/conversion/cast.hpp>
11#include <boost/filesystem.hpp> 10#include <boost/filesystem.hpp>
11#include <boost/numeric/conversion/cast.hpp>
12 12
13#include <Swiften/Base/sleep.h> 13#include <Swiften/Base/BoostRandomGenerator.h>
14#include <Swiften/Base/foreach.h> 14#include <Swiften/Base/Debug.h>
15#include <Swiften/Base/Log.h> 15#include <Swiften/Base/Log.h>
16#include <Swiften/Client/ClientXMLTracer.h> 16#include <Swiften/Base/foreach.h>
17#include <Swiften/Base/sleep.h>
17#include <Swiften/Client/Client.h> 18#include <Swiften/Client/Client.h>
18#include <Swiften/EventLoop/SimpleEventLoop.h> 19#include <Swiften/Client/ClientXMLTracer.h>
19#include <Swiften/Network/BoostNetworkFactories.h> 20#include <Swiften/Disco/ClientDiscoManager.h>
20#include <Swiften/Network/Timer.h>
21#include <Swiften/Network/TimerFactory.h>
22#include <Swiften/Disco/EntityCapsProvider.h> 21#include <Swiften/Disco/EntityCapsProvider.h>
23#include <Swiften/Elements/Presence.h> 22#include <Swiften/Elements/Presence.h>
24#include <Swiften/FileTransfer/ReadBytestream.h> 23#include <Swiften/EventLoop/SimpleEventLoop.h>
25#include <Swiften/Base/BoostRandomGenerator.h>
26#include <Swiften/FileTransfer/FileReadBytestream.h> 24#include <Swiften/FileTransfer/FileReadBytestream.h>
27#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
28#include <Swiften/FileTransfer/FileTransferManager.h> 25#include <Swiften/FileTransfer/FileTransferManager.h>
29#include <Swiften/Disco/ClientDiscoManager.h>
30#include <Swiften/FileTransfer/FileWriteBytestream.h> 26#include <Swiften/FileTransfer/FileWriteBytestream.h>
31#include <Swiften/Base/Debug.h> 27#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
28#include <Swiften/FileTransfer/ReadBytestream.h>
29#include <Swiften/Network/BoostNetworkFactories.h>
30#include <Swiften/Network/Timer.h>
31#include <Swiften/Network/TimerFactory.h>
32 32
33using namespace Swift; 33using namespace Swift;
34 34
35static const std::string CLIENT_NAME = "Swiften FT Test"; 35static const std::string CLIENT_NAME = "Swiften FT Test";
36static const std::string CLIENT_NODE = "http://swift.im"; 36static const std::string CLIENT_NODE = "http://swift.im";
@@ -57,12 +57,12 @@ class FileTransferTest {
57 57
58 receiver_ = boost::make_shared<Client>(JID(getenv("SWIFT_FILETRANSFERTEST2_JID")), getenv("SWIFT_FILETRANSFERTEST2_PASS"), networkFactories.get()); 58 receiver_ = boost::make_shared<Client>(JID(getenv("SWIFT_FILETRANSFERTEST2_JID")), getenv("SWIFT_FILETRANSFERTEST2_PASS"), networkFactories.get());
59 receiver_->onConnected.connect(boost::bind(&FileTransferTest::handleReceiverConnected, this)); 59 receiver_->onConnected.connect(boost::bind(&FileTransferTest::handleReceiverConnected, this));
60 receiver_->onDisconnected.connect(boost::bind(&FileTransferTest::handleReceiverDisconnected, this, _1)); 60 receiver_->onDisconnected.connect(boost::bind(&FileTransferTest::handleReceiverDisconnected, this, _1));
61 61
62 new ClientXMLTracer(sender_.get()); 62 senderTracer_ = new ClientXMLTracer(sender_.get());
63 new ClientXMLTracer(receiver_.get()); 63 receiverTracer_ = new ClientXMLTracer(receiver_.get());
64 64
65 ClientOptions options; 65 ClientOptions options;
66 options.useTLS = ClientOptions::NeverUseTLS; 66 options.useTLS = ClientOptions::NeverUseTLS;
67 options.useStreamCompression = false; 67 options.useStreamCompression = false;
68 options.useStreamResumption = false; 68 options.useStreamResumption = false;
@@ -90,10 +90,13 @@ class FileTransferTest {
90 } 90 }
91 91
92 ~FileTransferTest() { 92 ~FileTransferTest() {
93 timeOut_->stop(); 93 timeOut_->stop();
94 94
95 delete senderTracer_;
96 delete receiverTracer_;
97
95 if(boost::filesystem::exists(sendFilePath_)) { 98 if(boost::filesystem::exists(sendFilePath_)) {
96 boost::filesystem::remove(sendFilePath_); 99 boost::filesystem::remove(sendFilePath_);
97 } 100 }
98 101
99 if(boost::filesystem::exists(receiveFilePath_)) { 102 if(boost::filesystem::exists(receiveFilePath_)) {
@@ -237,18 +240,20 @@ class FileTransferTest {
237 } 240 }
238 241
239 private: 242 private:
240 int senderCandidates_; 243 int senderCandidates_;
241 boost::shared_ptr<Client> sender_; 244 boost::shared_ptr<Client> sender_;
245 ClientXMLTracer* senderTracer_;
242 ByteArray sendData_; 246 ByteArray sendData_;
243 OutgoingFileTransfer::ref outgoingFileTransfer_; 247 OutgoingFileTransfer::ref outgoingFileTransfer_;
244 boost::filesystem::path sendFilePath_; 248 boost::filesystem::path sendFilePath_;
245 boost::optional<FileTransferError> senderError_; 249 boost::optional<FileTransferError> senderError_;
246 bool senderIsDone_; 250 bool senderIsDone_;
247 251
248 int receiverCandidates_; 252 int receiverCandidates_;
249 boost::shared_ptr<Client> receiver_; 253 boost::shared_ptr<Client> receiver_;
254 ClientXMLTracer* receiverTracer_;
250 ByteArray receiveData_; 255 ByteArray receiveData_;
251 std::vector<IncomingFileTransfer::ref> incomingFileTransfers_; 256 std::vector<IncomingFileTransfer::ref> incomingFileTransfers_;
252 boost::filesystem::path receiveFilePath_; 257 boost::filesystem::path receiveFilePath_;
253 boost::optional<FileTransferError> receiverError_; 258 boost::optional<FileTransferError> receiverError_;
254 bool receiverIsDone_; 259 bool receiverIsDone_;