summaryrefslogtreecommitdiff
path: root/ACE/tests/Bug_3334_Regression_Test.cpp
diff options
context:
space:
mode:
authorcbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-08-02 02:52:48 +0000
committercbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-08-02 02:52:48 +0000
commit5d419914c5c5ea4792dcf5a8c3d7f33c511d8b66 (patch)
treec3cd526568420ee14f63d284ac1ef576ccee416b /ACE/tests/Bug_3334_Regression_Test.cpp
parentc6ee6b0688049e4c7a7789190448912e246b3742 (diff)
downloadATCD-5d419914c5c5ea4792dcf5a8c3d7f33c511d8b66.tar.gz
Sat Aug 1 22:52:45 EDT 2009 Chad Beaulac <chad@objectivesolutions.com> Fixed commit issue where I blew away changes made by Carlos to run_test.lst. Fixed file. Changed name of Service_Config_Stream_SEGV.cpp to Bug_3334_Regression_Test.cpp per Johnny's request. Bug #3334
Diffstat (limited to 'ACE/tests/Bug_3334_Regression_Test.cpp')
-rw-r--r--ACE/tests/Bug_3334_Regression_Test.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/ACE/tests/Bug_3334_Regression_Test.cpp b/ACE/tests/Bug_3334_Regression_Test.cpp
new file mode 100644
index 00000000000..f010305c1bd
--- /dev/null
+++ b/ACE/tests/Bug_3334_Regression_Test.cpp
@@ -0,0 +1,46 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = DESCRIPTION
+// This test exercises ACE_Service_Config SEGV during shutdown when
+// Modules get double deleted. Once by Stream parent,
+// once by ACE_Service_Repository
+//
+// = AUTHOR
+// Chad Beaulac <chad@objectivesolutions.com>
+//
+// ============================================================================
+
+#include "test_config.h"
+#include "ace/Log_Msg.h"
+#include "ace/Service_Config.h"
+
+ACE_RCSID(tests, Bug_3334_Regression_Test, "$Id$")
+
+int
+run_main (int, ACE_TCHAR *argv[])
+{
+ ACE_START_TEST (ACE_TEXT ("Bug_3334_Regression_Test"));
+
+ ACE_TCHAR *_argv[3] = { argv[0],
+ const_cast<ACE_TCHAR*> (ACE_TEXT ("-f")),
+ const_cast<ACE_TCHAR*>
+ (ACE_TEXT ("Service_Config_Stream_SEGV.conf")) };
+ int status;
+ if ((status = ACE_Service_Config::open (3,
+ _argv,
+ ACE_DEFAULT_LOGGER_KEY,
+ true,
+ true /*ignore def svc.conf*/)) == -1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("%p\n"),
+ ACE_TEXT ("open"),
+ 1));
+
+ ACE_END_TEST;
+ return status;
+}