Program: 47644
Project: 47644
Buggy source:
public void test1() throws ObjectFactoryException {
  StandaloneSession session=new StandaloneSession("String_Node_Str");
  StandaloneApplicationContext appContext=new StandaloneApplicationContext("String_Node_Str","String_Node_Str");
  StandaloneSpringPentahoObjectFactory factory=new StandaloneSpringPentahoObjectFactory();
  factory.init("String_Node_Str",null);
  PentahoSystem.setObjectFactory(factory);
  PentahoSystem.setSystemSettingsService(factory.get(ISystemSettings.class,"String_Node_Str",session));
  PentahoSystem.init(appContext);
  List<ISessionStartupAction> actions=new ArrayList<ISessionStartupAction>();
  SessionStartupAction startupAction1=new SessionStartupAction();
  startupAction1.setSessionType(PentahoSystem.SCOPE_GLOBAL);
  startupAction1.setActionPath("String_Node_Str");
  startupAction1.setActionOutputScope(PentahoSystem.SCOPE_GLOBAL);
  actions.add(startupAction1);
  TestRuntimeContext context=new TestRuntimeContext();
  context.status=IRuntimeContext.RUNTIME_STATUS_SUCCESS;
  TestSolutionEngine engine=PentahoSystem.get(TestSolutionEngine.class,"String_Node_Str",session);
  engine.testRuntime=context;
  Map<String,IActionParameter> outputs=new HashMap<String,IActionParameter>();
  TestActionParameter param=new TestActionParameter();
  param.setValue("String_Node_Str");
  outputs.put("String_Node_Str",param);
  context.outputParameters=outputs;
  engine.executeCount=0;
  GlobalListsPublisher globals=new GlobalListsPublisher();
  assertEquals(Messages.getInstance().getString("String_Node_Str"),globals.getName());
  assertEquals(Messages.getInstance().getString("String_Node_Str"),globals.getDescription());
  assertTrue(!globals.getName().startsWith("String_Node_Str"));
  assertTrue(!globals.getDescription().startsWith("String_Node_Str"));
  assertNotNull(globals.getLogger());
  String resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(0,engine.executeCount);
  PentahoSystem.setSessionStartupActions(actions);
  IParameterProvider globalParams=PentahoSystem.getGlobalParameters();
  resultMsg=globals.publish(session);
  assertEquals(1,engine.executeCount);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(session,engine.initSession);
  assertEquals("String_Node_Str",engine.actionPath);
  assertEquals("String_Node_Str",globalParams.getParameter("String_Node_Str"));
  param.setValue("String_Node_Str");
  resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(2,engine.executeCount);
  assertNotNull(globalParams);
  assertEquals("String_Node_Str",globalParams.getParameter("String_Node_Str"));
  engine.errorMsg="String_Node_Str";
  resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str") + "String_Node_Str",resultMsg);
  assertEquals(3,engine.executeCount);
}

Fixed version (ground truth):
public void test1() throws ObjectFactoryException {
  StandaloneSession session=new StandaloneSession("String_Node_Str");
  StandaloneApplicationContext appContext=new StandaloneApplicationContext("String_Node_Str","String_Node_Str");
  StandaloneSpringPentahoObjectFactory factory=new StandaloneSpringPentahoObjectFactory();
  factory.init("String_Node_Str",null);
  PentahoSystem.setObjectFactory(factory);
  PentahoSystem.setSystemSettingsService(factory.get(ISystemSettings.class,"String_Node_Str",session));
  PentahoSystem.init(appContext);
  List<ISessionStartupAction> actions=new ArrayList<ISessionStartupAction>();
  SessionStartupAction startupAction1=new SessionStartupAction();
  startupAction1.setSessionType(PentahoSystem.SCOPE_GLOBAL);
  startupAction1.setActionPath("String_Node_Str");
  startupAction1.setActionOutputScope(PentahoSystem.SCOPE_GLOBAL);
  actions.add(startupAction1);
  TestRuntimeContext context=new TestRuntimeContext();
  context.status=IRuntimeContext.RUNTIME_STATUS_SUCCESS;
  TestSolutionEngine engine=PentahoSystem.get(TestSolutionEngine.class,"String_Node_Str",session);
  engine.testRuntime=context;
  Map<String,IActionParameter> outputs=new HashMap<String,IActionParameter>();
  TestActionParameter param=new TestActionParameter();
  param.setValue("String_Node_Str");
  outputs.put("String_Node_Str",param);
  context.outputParameters=outputs;
  engine.executeCount=0;
  GlobalListsPublisher globals=new GlobalListsPublisher();
  assertEquals(Messages.getInstance().getString("String_Node_Str"),globals.getName());
  assertEquals(Messages.getInstance().getString("String_Node_Str"),globals.getDescription());
  assertTrue(!globals.getName().startsWith("String_Node_Str"));
  assertTrue(!globals.getDescription().startsWith("String_Node_Str"));
  assertNotNull(globals.getLogger());
  String resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(0,engine.executeCount);
  PentahoSystem.setSessionStartupActions(actions);
  IParameterProvider globalParams=PentahoSystem.getGlobalParameters();
  resultMsg=globals.publish(session);
  assertEquals(1,engine.executeCount);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(session,engine.initSession);
  assertEquals(startupAction1.getActionPath(),engine.actionPath);
  assertEquals("String_Node_Str",globalParams.getParameter("String_Node_Str"));
  param.setValue("String_Node_Str");
  resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str"),resultMsg);
  assertEquals(2,engine.executeCount);
  assertNotNull(globalParams);
  assertEquals("String_Node_Str",globalParams.getParameter("String_Node_Str"));
  engine.errorMsg="String_Node_Str";
  resultMsg=globals.publish(session);
  assertEquals(Messages.getInstance().getString("String_Node_Str") + "String_Node_Str",resultMsg);
  assertEquals(3,engine.executeCount);
}