TestServerinit.cxx
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:3k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #include "TestAssert.h"
  19. #include "TestServerinit.h"
  20. #include "ace/OS_NS_stdlib.h"
  21. #include "ace/OS_NS_stdio.h"
  22. #include "ace/OS_NS_string.h"
  23. #include "AtmiBrokerServer.h"
  24. #include "AtmiBrokerClientControl.h"
  25. extern void test_service(TPSVCINFO *svcinfo);
  26. void TestServerinit::test_serverinit() {
  27. userlogc((char*) "test_serverinit");
  28. int result;
  29. #ifdef WIN32
  30. char* argv[] = {(char*)"server", (char*)"-c", (char*)"win32", (char*)"-i", (char*)"1"};
  31. #else
  32. char* argv[] = {(char*)"server", (char*)"-c", (char*)"linux", (char*)"-i", (char*)"1"};
  33. #endif
  34. int argc = sizeof(argv)/sizeof(char*);
  35. result = serverinit(argc, argv);
  36. BT_ASSERT(result != -1);
  37. BT_ASSERT(tperrno == 0);
  38. BT_ASSERT(ptrServer->isAdvertised((char*)"BAR"));
  39. result = serverdone();
  40. BT_ASSERT(result != -1);
  41. BT_ASSERT(tperrno == 0);
  42. }
  43. void TestServerinit::test_config_env() {
  44. userlogc((char*) "TestServerinit::test_config_env");
  45. int result;
  46. char* argv[] = {(char*)"server", (char*)"-i", (char*)"1"};
  47. int argc = sizeof(argv)/sizeof(char*);
  48. result = serverinit(argc, argv);
  49. BT_ASSERT(result != -1);
  50. BT_ASSERT(tperrno == 0);
  51. result = serverdone();
  52. BT_ASSERT(result != -1);
  53. BT_ASSERT(tperrno == 0);
  54. clientdone(0);
  55. ACE_OS::putenv("BLACKTIE_CONFIGURATION_DIR=nosuch_conf");
  56. result = serverinit(argc, argv);
  57. ACE_OS::putenv("BLACKTIE_CONFIGURATION_DIR=.");
  58. BT_ASSERT(result == -1);
  59. }
  60. void TestServerinit::test_config_cmdline() {
  61. userlogc((char*) "TestServerinit::test_config_cmdline");
  62. int result;
  63. #ifdef WIN32
  64. char* argv1[] = {(char*)"server", (char*)"-c", (char*)"win32", (char*)"-i", (char*)"1"};
  65. #else
  66. char* argv1[] = {(char*)"server", (char*)"-c", (char*)"linux", (char*)"-i", (char*)"1"};
  67. #endif
  68. int argc1 = sizeof(argv1)/sizeof(char*);
  69. result = serverinit(argc1, argv1);
  70. BT_ASSERT(result != -1);
  71. BT_ASSERT(tperrno == 0);
  72. int id = ::tpadvertise((char*) "TestTPAdvertise", test_service);
  73. BT_ASSERT(tperrno == 0);
  74. BT_ASSERT(id == 0);
  75. result = serverdone();
  76. BT_ASSERT(result != -1);
  77. BT_ASSERT(tperrno == 0);
  78. /* invalid command line arguments */
  79. char* argv2[] = {(char*)"server", (char*)"-i", (char*)"conf"};
  80. int argc2 = sizeof(argv2)/sizeof(char*);
  81. result = serverinit(argc2, argv2);
  82. BT_ASSERT(result == -1);
  83. serverdone();
  84. /* make the -i paramenter mandatory */
  85. char* argv3[] = {(char*)"server"};
  86. int argc3 = sizeof(argv3)/sizeof(char*);
  87. result = serverinit(argc3, argv3);
  88. BT_ASSERT(result == -1);
  89. result = serverdone();
  90. BT_ASSERT(result != -1);
  91. BT_ASSERT(tperrno == 0);
  92. }
  93. void test_service(TPSVCINFO *svcinfo) {
  94. userlogc((char*) "test_service");
  95. }