Class EmbeddedSutController

java.lang.Object
org.evomaster.client.java.controller.internal.SutController
org.evomaster.client.java.controller.EmbeddedSutController
All Implemented Interfaces:
CustomizationHandler, SutHandler

public abstract class EmbeddedSutController extends SutController

Main class used to implement an EvoMaster Driver. A user that wants to use EvoMaster for white-box testing will need to implement this abstract class.

For full details on how to implement this class, look at the documentation for Write an EvoMaster Driver for White-Box Testing, currently at https://github.com/WebFuzzing/EvoMaster/blob/master/docs/write_driver.md

  • Constructor Details

    • EmbeddedSutController

      public EmbeddedSutController()
  • Method Details

    • setupForGeneratedTest

      public final void setupForGeneratedTest()
      Description copied from interface: SutHandler
      There might be different settings based on when the SUT is run during the search of EvoMaster, and when it is later started in the generated tests.
    • isInstrumentationActivated

      public final boolean isInstrumentationActivated()
      Description copied from class: SutController
      Check if bytecode instrumentation is on.
      Specified by:
      isInstrumentationActivated in class SutController
      Returns:
      true if the instrumentation is on
    • newSearch

      public final void newSearch()
      Description copied from class: SutController
      Re-initialize all internal data to enable a completely new search phase which should be independent from previous ones
      Specified by:
      newSearch in class SutController
    • newTestSpecificHandler

      public final void newTestSpecificHandler()
      Specified by:
      newTestSpecificHandler in class SutController
    • getTargetInfos

      public final List<org.evomaster.client.java.instrumentation.TargetInfo> getTargetInfos(Collection<Integer> ids, boolean fullyCovered, boolean descriptiveIds)
      Specified by:
      getTargetInfos in class SutController
    • getAdditionalInfoList

      public final List<org.evomaster.client.java.instrumentation.AdditionalInfo> getAdditionalInfoList()
      Specified by:
      getAdditionalInfoList in class SutController
      Returns:
      additional info for each action in the test. The list is ordered based on the action index.
    • newActionSpecificHandler

      public final void newActionSpecificHandler(org.evomaster.client.java.controller.api.dto.ActionDto dto)
      Specified by:
      newActionSpecificHandler in class SutController
    • newScheduleActionSpecificHandler

      public final void newScheduleActionSpecificHandler(org.evomaster.client.java.controller.api.dto.problem.rpc.ScheduleTaskInvocationDto dto)
      Specified by:
      newScheduleActionSpecificHandler in class SutController
    • getUnitsInfoDto

      public final org.evomaster.client.java.controller.api.dto.UnitsInfoDto getUnitsInfoDto()
      Specified by:
      getUnitsInfoDto in class SutController
    • setKillSwitch

      public final void setKillSwitch(boolean b)
      Specified by:
      setKillSwitch in class SutController
    • setExecutingInitSql

      public final void setExecutingInitSql(boolean executingInitSql)
      Specified by:
      setExecutingInitSql in class SutController
    • setExecutingInitMongo

      public final void setExecutingInitMongo(boolean executingInitMongo)
      Specified by:
      setExecutingInitMongo in class SutController
    • setExecutingInitRedis

      public final void setExecutingInitRedis(boolean executingInitRedis)
      Specified by:
      setExecutingInitRedis in class SutController
    • setExecutingAction

      public final void setExecutingAction(boolean executingAction)
      Specified by:
      setExecutingAction in class SutController
    • getBootTimeInfoDto

      public org.evomaster.client.java.controller.api.dto.BootTimeInfoDto getBootTimeInfoDto()
      Specified by:
      getBootTimeInfoDto in class SutController
    • getExecutableFullPath

      public final String getExecutableFullPath()
      Specified by:
      getExecutableFullPath in class SutController
    • getJvmDtoSchema

      public final void getJvmDtoSchema(List<String> dtoNames)
      Specified by:
      getJvmDtoSchema in class SutController
    • bootingSut

      public final void bootingSut(boolean bootingSut)
      Description copied from class: SutController
      specify whether the SUT is booting (ie starting up), or not. this is needed because we don't want to handle targets covered at startup during the fitness evaluations
      Specified by:
      bootingSut in class SutController