1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// $Id$
#include "tao/Utils/ORB_Manager.h"
#include "Offer_Importer.h"
int
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
int failure = 0;
try
{
if (argc<=1)
{
ACE_DEBUG ((LM_INFO,
ACE_TEXT("\nUsage: import_test <options>\n"
"Test the trader's importer role, the options are:\n"
"-ORBInitRef <orb_options> E.g. '-ORBInitRef TradingService=file://trading.ior'\n"
"-quiet or -q (optional) Run the tests in quiet mode, don't show the query and list results.\n"
"-federate or -f (optional) Perform federated trader tests.\n"
"-iorfile or -i (optional) Get TradingService reference through IOR instead of resolve.\n"
"\n"
"This test needs the 'export_test' running so the trader has the right offers.\n"
"See also TAO/docs/releasenotes/trader.html.\n\n"
) ));
return 1;
};
TAO_ORB_Manager orb_manager;
orb_manager.init (argc, argv);
// Command line argument parser.
TT_Parse_Args parse_args (argc, argv);
// Initialize the ORB and bootstrap to the Lookup interface.
CORBA::ORB_var orb = orb_manager.orb ();
ACE_DEBUG ((LM_DEBUG, "*** Bootstrap to the Lookup interface.\n"));
char* ior = parse_args.ior ();
CORBA::Object_var trading_obj = (ior == 0) ?
orb->resolve_initial_references ("TradingService") :
orb->string_to_object (ior);
if (CORBA::is_nil (trading_obj.in ()))
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT("ERROR, Unable to bootstrap to the Trading Service!\n")),
1);
// Narrow the lookup interface.
ACE_DEBUG ((LM_DEBUG, "*** Narrowing the lookup interface.\n"));
CosTrading::Lookup_var lookup_if =
CosTrading::Lookup::_narrow (trading_obj.in ());
// Run the Offer Importer tests.
ACE_DEBUG ((LM_DEBUG, "*** Running the Offer Importer tests.\n"));
TAO_Offer_Importer offer_importer (lookup_if.in (), ! parse_args.quiet ());
offer_importer.perform_queries ();
if (parse_args.federated ())
{
offer_importer.perform_directed_queries ();
}
}
catch (const CORBA::Exception& e)
{
e._tao_print_exception ("Trader import test ERROR!");
failure = 1;
}
return failure;
}
|