1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_ftp.hxx"
26
27 /**************************************************************************
28 TODO
29 **************************************************************************
30
31 *************************************************************************/
32
33 #include "test_ftpurl.hxx"
34 #include <stdio.h>
35 #include <unistd.h>
36
37 // #include <osl/process.h>
38 // #include <osl/thread.hxx>
39
40 // #include <ucbhelper/configurationkeys.hxx>
41 // #include <cppuhelper/bootstrap.hxx>
42 // #include <cppuhelper/servicefactory.hxx>
43 // #include <comphelper/processfactory.hxx>
44 // #include <comphelper/regpathhelper.hxx>
45 // #include <com/sun/star/lang/XComponent.hpp>
46 // #include <com/sun/star/lang/XMultiServiceFactory.hpp>
47 // #include <com/sun/star/ucb/XContentIdentifierFactory.hpp>
48 // #include <com/sun/star/ucb/XContent.hpp>
49 // #include <com/sun/star/ucb/XContentProvider.hpp>
50 // #include <com/sun/star/ucb/XCommandProcessor.hpp>
51 // #include <com/sun/star/ucb/OpenMode.hpp>
52 // #include <com/sun/star/ucb/Command.hpp>
53 // #include <com/sun/star/ucb/OpenCommandArgument2.hpp>
54 // #include <com/sun/star/io/XActiveDataSink.hpp>
55 // #include <com/sun/star/beans/Property.hpp>
56
57
58 // #include "debughelper.hxx"
59 // #include "test_activedatasink.hxx"
60 // #include "test_ftpurl.hxx"
61 // #include "test_multiservicefac.hxx"
62 // #include "ftpcontentprovider.hxx"
63 // #include "ftpcontentidentifier.hxx"
64
65
66 // using namespace test_ftp;
67 // using namespace rtl;
68 // using namespace com::sun::star::uno;
69 // using namespace com::sun::star::lang;
70 // using namespace com::sun::star::ucb;
71 // using namespace com::sun::star::beans;
72 // using namespace com::sun::star::io;
73
74
75
76 // class FTPThread
77 // : public osl::Thread
78 // {
79 // public:
80
81 // FTPThread();
82
83 // int number_of_errors() { return _number_of_errors; }
84
85 // protected:
86
87 // void SAL_CALL run();
88
89
90 // private:
91
92 // ftp::FTPContentProvider *pProvider;
93 // Reference<XContentProvider> xProvider;
94 // Reference<XMultiServiceFactory> xFac;
95
96 // int _number_of_errors;
97 // };
98
99
100 // Reference< XMultiServiceFactory > createApplicationServiceManager()
101 // {
102 // try
103 // {
104 // Reference<XComponentContext> xComponentContext =
105 // ::cppu::defaultBootstrap_InitialComponentContext();
106 // Reference<XMultiServiceFactory> xMS(
107 // xComponentContext->getServiceManager(),
108 // UNO_QUERY);
109
110 // return xMS;
111 // }
112 // catch( ::com::sun::star::uno::Exception& )
113 // {
114 // return Reference< XMultiServiceFactory >();
115 // }
116 // }
117
118
119 // FTPThread::FTPThread()
120 // : _number_of_errors(0),
121 // xFac(createApplicationServiceManager())
122 // {
123 // pProvider = new ftp::FTPContentProvider(xFac);
124 // xProvider = Reference<XContentProvider>(pProvider);
125
126 // if(!xProvider.is())
127 // ++_number_of_errors;
128 // }
129
130
131 // void FTPThread::run() {
132 // if(!xFac.is()) {
133 // ++_number_of_errors;
134 // exit(1);
135 // }
136
137 // Reference<XContentIdentifier> xIdent(
138 // new ftp::FTPContentIdentifier(
139 // rtl::OUString::createFromAscii("ftp://abi:psswd@abi-1/file"),
140 // pProvider));
141
142 // Reference<XContent> xContent = xProvider->queryContent(xIdent);
143 // if(!xContent.is())
144 // {
145 // err_msg("no content",OUString());
146 // exit(1);
147 // }
148
149
150 // Reference<XActiveDataSink> xActDS(new Test_ActiveDataSink());
151 // OpenCommandArgument2 aOpenCommand(OpenMode::DOCUMENT,
152 // 0,
153 // Reference<XInterface>(xActDS,UNO_QUERY),
154 // Sequence<Property>(0),
155 // Sequence<NumberedSortingInfo>(0));
156 // Any aAny; aAny <<= aOpenCommand;
157
158 // Command aCommand(OUString::createFromAscii("open"),
159 // -1,
160 // aAny);
161
162 // Reference<XCommandProcessor> xCommandProcessor(xContent,UNO_QUERY);
163 // if(!xCommandProcessor.is())
164 // {
165 // err_msg("no command_processor",OUString());
166 // exit(1);
167 // }
168 // xCommandProcessor->execute(aCommand,
169 // 0,Reference<XCommandEnvironment>(0));
170
171 // Reference<XInputStream> xInputStream = xActDS->getInputStream();
172 // if(!xInputStream.is())
173 // ;
174 // }
175
176
main(int argc,char * argv[])177 int main(int argc,char* argv[])
178 {
179 // FTPThread aThread;
180 // aThread.create();
181 // aThread.join();
182
183 typedef int (*INT_FUNC)(void);
184 INT_FUNC tests[] = { test_ftpurl,
185 test_ftpparent,
186 test_ftpproperties,
187 test_ftpopen,
188 test_ftplist,
189 0 }; // don't remove ending zero
190
191 int err_level = 0;
192
193 fprintf(stderr,"------- Testing ----------\n");
194
195 int i = -1;
196 do {
197 INT_FUNC f = tests[++i];
198 if(f) {
199 err_level += (*f)();
200 fprintf(stderr,".");
201 } else
202 break;
203 } while(true);
204
205 if(err_level) {
206 fprintf(stderr,"number of failed tests: %d\n",err_level);
207 fprintf(stderr,"----------------------------------\n");
208 } else
209 fprintf(stderr,"no errors\n");
210
211 return err_level;
212 }
213
214
215
216 // char *scefile = 0;
217 // if(strcmp(argv[1],"-sce") == 0)
218 // scefile = argv[2];
219
220 // if(!scefile) {
221 // fprintf(stderr,"usage: ftptest -sce filename\n");
222 // return 1;
223 // }
224
225 // rtl::OUString sceurl;
226 // osl::FileBase::RC err =
227 // osl::FileBase::getFileURLFromSystemPath(
228 // rtl::OUString(scefile,
229 // strlen(scefile),
230 // RTL_TEXTENCODING_UTF8),
231 // sceurl);
232
233 // osl::File aFile(sceurl);
234 // err = aFile.open(OpenFlag_Read);
235 // if(err != osl::FileBase::E_None) {
236 // fprintf(stderr,"could not open sce-file %s\n",scefile);
237 // return 1;
238 // }
239
240 // sal_uInt64 n;
241 // char buffer[256];
242 // rtl::OUStringBuffer bff;
243 // do {
244 // err = aFile.read((void*)buffer,256,n);
245 // bff.appendAscii(buffer,sal_Int32(n));
246 // } while(err == osl::FileBase::E_None && n == 256);
247
248 // aFile.close();
249
250 // rtl::OUString sce = bff.makeStringAndClear();
251
252 // fprintf(stderr,rtl::OString(sce.getStr(),
253 // sce.getLength(),
254 // RTL_TEXTENCODING_UTF8).getStr());
255
256 // rtl::OUString lib,tmp,testlib;
257 // std::vector<rtl::OUString> tests;
258 // sal_Int32 TEST = sce.indexOf(rtl::OUString::createFromAscii("TEST"));
259 // sal_Int32 WITH = sce.indexOf(rtl::OUString::createFromAscii("WITH"));
260 // sal_Int32 FROM = sce.indexOf(rtl::OUString::createFromAscii("FROM"));
261 // lib = sce.copy(TEST+4,WITH-TEST-4).trim();
262
263 // tmp = sce.copy(WITH+4,FROM-WITH-4).trim();
264 // sal_Int32 nIndex = 0;
265 // do
266 // {
267 // rtl::OUString token = tmp.getToken(0,';',nIndex).trim();
268 // if(token.getLength())
269 // tests.push_back(token);
270 // } while(nIndex >= 0);
271
272 // testlib = sce.copy(FROM+4).trim();
273
274 // // fprintf(stderr,"%s\n",
275 // // rtl::OString(token.getStr(),
276 // // token.getLength(),
277 // // RTL_TEXTENCODING_UTF8).getStr());
278
279 // osl::Module testLib;
280 // if(!testLib.load(testlib)) {
281 // fprintf(stderr,"library not found: %s\n",
282 // rtl::OString(testlib.getStr(),
283 // testlib.getLength(),
284 // RTL_TEXTENCODING_UTF8).getStr());
285 // return 1;
286 // }
287
288 // osl::Module mathLib;
289 // mathLib.load(rtl::OUString::createFromAscii("libm.so"));
290 // typedef double (*DF)(double);
291 // DF func = (DF)mathLib.getSymbol(rtl::OUString::createFromAscii("cos"));
292 // fprintf(stderr,"-------double %f ----------\n",(*func)(2.0));
293
294 // fprintf(stderr,"-------testing %s ----------\n",scefile);
295