diff --git a/.gitignore b/.gitignore index 78f7d1e01c..9b07309489 100644 --- a/.gitignore +++ b/.gitignore @@ -252,7 +252,7 @@ compile_commands.json # NUNIT *.VisualState.xml -TestResult.xml +TestResults.xml # Build Results of an ATL Project [Dd]ebugPS/ diff --git a/Core/CLI/src/cli_smem.cpp b/Core/CLI/src/cli_smem.cpp index c1b3ace747..c0e1343b74 100644 --- a/Core/CLI/src/cli_smem.cpp +++ b/Core/CLI/src/cli_smem.cpp @@ -133,9 +133,11 @@ bool CommandLineInterface::DoSMem(const char pOp, const std::string* pArg1, cons } else if (pOp == 'i') { - /* Don't think we need clear out anything else any more */ - - thisAgent->SMem->reinit(); + if (thisAgent->SMem->connected()) { + thisAgent->SMem->reinit(); + } else { + thisAgent->SMem->attach(); + } PrintCLIMessage("Semantic memory system re-initialized."); if (thisAgent->SMem->settings->append_db->get_value() == on) diff --git a/UnitTests/SoarUnitTests/MiscTests.cpp b/UnitTests/SoarUnitTests/MiscTests.cpp index 18e4506c10..1a2ea188d6 100644 --- a/UnitTests/SoarUnitTests/MiscTests.cpp +++ b/UnitTests/SoarUnitTests/MiscTests.cpp @@ -285,6 +285,13 @@ void MiscTests::testWrongAgentWmeFunctions() } +void MiscTests::testRegression370() +{ + source("testRegression370.soar"); + agent->RunSelf(5000); + SoarHelper::init_check_to_find_refcount_leaks(agent); +} + void MiscTests::testRHSRand() { kernel->AddRhsFunction("failed", Handlers::MyRhsFunctionFailureHandler, 0) ; diff --git a/UnitTests/SoarUnitTests/MiscTests.hpp b/UnitTests/SoarUnitTests/MiscTests.hpp index a1b397adf4..12770cc4fe 100644 --- a/UnitTests/SoarUnitTests/MiscTests.hpp +++ b/UnitTests/SoarUnitTests/MiscTests.hpp @@ -33,6 +33,8 @@ class MiscTests : public FunctionalTestHarness TEST(testWrongAgentWmeFunctions, -1) void testWrongAgentWmeFunctions(); + TEST(testRegression370, -1) + void testRegression370(); TEST(testRHSRand, -1) void testRHSRand(); TEST(testMultipleKernels, -1)