{\rtf1\ansi\ansicpg1252\cocoartf2580
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Bold;\f1\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red56\green185\blue199;\red202\green51\blue35;
\red57\green192\blue38;}
{\*\expandedcolortbl;;\csgray\c0;\cssrgb\c25544\c77008\c82022;\cssrgb\c83898\c28665\c18024;
\cssrgb\c25704\c77963\c19556;}
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b\fs22 \cf2 \CocoaLigature0 diff --git a/test/cppsuite/test_harness/core/configuration.h b/test/cppsuite/test_harness/core/configuration.h
\f1\b0 \

\f0\b index f34465904..4c7aeb0ac 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/core/configuration.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/core/configuration.h
\f1\b0 \
\cf3 @@ -60,8 +60,8 @@\cf2  split_string(const std::string &str, const char delim)\
 \
 class configuration \{\
     public:\
\cf4 -    configuration(const std::string &test_config_name, const std::string &config);\cf2 \
\cf4 -    configuration(const WT_CONFIG_ITEM &nested);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit configuration(const std::string &test_config_name, const std::string &config);\cf2 \
\cf5 +    explicit configuration(const WT_CONFIG_ITEM &nested);\cf2 \
 \
     ~configuration();\
 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/runtime_monitor.cxx b/test/cppsuite/test_harness/runtime_monitor.cxx
\f1\b0 \

\f0\b index 0e454a4f4..d123ae9f7 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/runtime_monitor.cxx
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/runtime_monitor.cxx
\f1\b0 \
\cf3 @@ -80,7 +80,7 @@\cf2  runtime_statistic::enabled() const\
 /* cache_limit_statistic class implementation */\
 cache_limit_statistic::cache_limit_statistic(configuration *config) : runtime_statistic(config)\
 \{\
\cf4 -    limit = config->get_int(LIMIT);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    _limit = config->get_int(LIMIT);\cf2 \
 \}\
 \
 void\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf3 @@ -98,9 +98,9 @@\cf2  cache_limit_statistic::check(scoped_cursor &cursor)\
      * point conversion errors.\
      */\
     use_percent = ((cache_bytes_image + cache_bytes_other + 0.0) / cache_bytes_max) * 100;\
\cf4 -    if (use_percent > limit) \{\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    if (use_percent > _limit) \{\cf2 \
         const std::string error_string =\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf4 -          "runtime_monitor: Cache usage exceeded during test! Limit: " + std::to_string(limit) +\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +          "runtime_monitor: Cache usage exceeded during test! Limit: " + std::to_string(_limit) +\cf2 \
           " usage: " + std::to_string(use_percent);\
         testutil_die(-1, error_string.c_str());\
     \} else\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/runtime_monitor.h b/test/cppsuite/test_harness/runtime_monitor.h
\f1\b0 \

\f0\b index 0f6358529..391f6f206 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/runtime_monitor.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/runtime_monitor.h
\f1\b0 \
\cf3 @@ -48,13 +48,11 @@\cf2  namespace test_harness \{\
 class runtime_statistic \{\
     public:\
     explicit runtime_statistic(configuration *config);\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    virtual ~runtime_statistic() = default;\cf2 \
 \
     /* Check that the given statistic is within bounds. */\
     virtual void check(scoped_cursor &cursor) = 0;\
 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf4 -    /* Suppress warning about destructor being non-virtual. */\cf2 \
\cf4 -    virtual ~runtime_statistic() \{\}\cf2 \
\cf4 -\cf2 \
     bool enabled() const;\
 \
     protected:\
\cf3 @@ -64,16 +62,17 @@\cf2  class runtime_statistic \{\
 class cache_limit_statistic : public runtime_statistic \{\
     public:\
     explicit cache_limit_statistic(configuration *config);\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    virtual ~cache_limit_statistic() = default;\cf2 \
 \
     void check(scoped_cursor &cursor) override final;\
 \
     private:\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf4 -    int64_t limit;\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    int64_t _limit;\cf2 \
 \};\
 \
 class db_size_statistic : public runtime_statistic \{\
     public:\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf4 -    db_size_statistic(configuration *config, database &database);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit db_size_statistic(configuration *config, database &database);\cf2 \
     virtual ~db_size_statistic() = default;\
 \
     /* Don't need the stat cursor for this. */\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf3 @@ -90,7 +89,6 @@\cf2  class db_size_statistic : public runtime_statistic \{\
 class postrun_statistic_check \{\
     public:\
     explicit postrun_statistic_check(configuration *config);\
\cf4 -    virtual ~postrun_statistic_check() = default;\cf2 \
 \
     void check(scoped_cursor &cursor) const;\
 \
\cf3 @@ -119,8 +117,8 @@\cf2  class runtime_monitor : public component \{\
     static void get_stat(scoped_cursor &, int, int64_t *);\
 \
     public:\
\cf4 -    runtime_monitor(configuration *config, database &database);\cf2 \
\cf4 -    ~runtime_monitor();\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit runtime_monitor(configuration *config, database &database);\cf2 \
\cf5 +    virtual ~runtime_monitor();\cf2 \
 \
     /* Delete the copy constructor and the assignment operator. */\
     runtime_monitor(const runtime_monitor &) = delete;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/test.h b/test/cppsuite/test_harness/test.h
\f1\b0 \

\f0\b index 8c5e2d174..affa3b362 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/test.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/test.h
\f1\b0 \
\cf3 @@ -60,7 +60,7 @@\cf2  class test_args \{\
 class test : public database_operation \{\
     public:\
     test(const test_args &args);\
\cf4 -    ~test();\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    virtual ~test();\cf2 \
 \
     /* Delete the copy constructor and the assignment operator. */\
     test(const test &) = delete;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/timestamp_manager.h b/test/cppsuite/test_harness/timestamp_manager.h
\f1\b0 \

\f0\b index e510614d0..c10d10df5 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/timestamp_manager.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/timestamp_manager.h
\f1\b0 \
\cf3 @@ -50,7 +50,8 @@\cf2  class timestamp_manager : public component \{\
     static const std::string decimal_to_hex(uint64_t value);\
 \
     public:\
\cf4 -    timestamp_manager(configuration *config);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit timestamp_manager(configuration *config);\cf2 \
\cf5 +    virtual ~timestamp_manager() = default;\cf2 \
 \
     void load() override final;\
     void do_work() override final;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/util/scoped_types.h b/test/cppsuite/test_harness/util/scoped_types.h
\f1\b0 \

\f0\b index 47b8592ed..fe92858bd 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/util/scoped_types.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/util/scoped_types.h
\f1\b0 \
\cf3 @@ -41,12 +41,12 @@\cf2  namespace test_harness \{\
 class scoped_cursor \{\
     public:\
     scoped_cursor() = default;\
\cf4 -    scoped_cursor(WT_SESSION *session, const char *uri, const char *cfg);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit scoped_cursor(WT_SESSION *session, const char *uri, const char *cfg);\cf2 \
 \
     /* Moving is ok but copying is not. */\
     scoped_cursor(scoped_cursor &&other);\
 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf4 -    virtual ~scoped_cursor();\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    ~scoped_cursor();\cf2 \
 \
     scoped_cursor &operator=(scoped_cursor &&other);\
     scoped_cursor(const scoped_cursor &) = delete;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf3 @@ -68,7 +68,7 @@\cf2  class scoped_session \{\
     scoped_session() = default;\
     explicit scoped_session(WT_CONNECTION *conn);\
 \
\cf4 -    virtual ~scoped_session();\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    ~scoped_session();\cf2 \
 \
     /* Moving is ok but copying is not. */\
     scoped_session(scoped_session &&other);\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/workload/database_model.h b/test/cppsuite/test_harness/workload/database_model.h
\f1\b0 \

\f0\b index edbb5bd26..c8d545248 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/workload/database_model.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/workload/database_model.h
\f1\b0 \
\cf3 @@ -45,7 +45,7 @@\cf2  typedef std::string key_value_t;\
 /* A collection is made of mapped key value objects. */\
 class collection \{\
     public:\
\cf4 -    collection(const uint64_t id, const uint64_t key_count, const std::string &name);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit collection(const uint64_t id, const uint64_t key_count, const std::string &name);\cf2 \
 \
     /* Copies aren't allowed. */\
     collection(const collection &) = delete;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/workload/workload_tracking.h b/test/cppsuite/test_harness/workload/workload_tracking.h
\f1\b0 \

\f0\b index 704f26ac8..b6c232376 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/workload/workload_tracking.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/workload/workload_tracking.h
\f1\b0 \
\cf3 @@ -58,9 +58,10 @@\cf2  enum class tracking_operation \{ CREATE_COLLECTION, DELETE_COLLECTION, DELETE_KEY\
 /* Class used to track operations performed on collections */\
 class workload_tracking : public component \{\
     public:\
\cf4 -    workload_tracking(configuration *_config, const std::string &operation_table_config,\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit workload_tracking(configuration *_config, const std::string &operation_table_config,\cf2 \
       const std::string &operation_table_name, const std::string &schema_table_config,\
       const std::string &schema_table_name, const bool use_compression, timestamp_manager &tsm);\
\cf5 +    virtual ~workload_tracking() = default;\cf2 \
 \
     const std::string &get_schema_table_name() const;\
     const std::string &get_operation_table_name() const;\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/workload_generator.cxx b/test/cppsuite/test_harness/workload_generator.cxx
\f1\b0 \

\f0\b index 32676a59a..9fe8f817d 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/workload_generator.cxx
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/workload_generator.cxx
\f1\b0 \
\cf3 @@ -46,6 +46,11 @@\cf2  operation_config::operation_config(configuration *config, thread_type type)\
 \{\
 \}\
 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +operation_config::~operation_config()\cf2 \
\cf5 +\{\cf2 \
\cf5 +    delete config;\cf2 \
\cf5 +\}\cf2 \
\cf5 +\cf2 \
 std::function<void(test_harness::thread_context *)>\
 operation_config::get_func(database_operation *dbo)\
 \{\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\b diff --git a/test/cppsuite/test_harness/workload_generator.h b/test/cppsuite/test_harness/workload_generator.h
\f1\b0 \

\f0\b index e29410f61..e65725cf3 100644
\f1\b0 \

\f0\b --- a/test/cppsuite/test_harness/workload_generator.h
\f1\b0 \

\f0\b +++ b/test/cppsuite/test_harness/workload_generator.h
\f1\b0 \
\cf3 @@ -48,7 +48,8 @@\cf2  namespace test_harness \{\
  */\
 class operation_config \{\
     public:\
\cf4 -    operation_config(configuration *config, thread_type type);\cf2 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\cf5 +    explicit operation_config(configuration *config, thread_type type);\cf2 \
\cf5 +    ~operation_config();\cf2 \
 \
     /* Returns a function pointer to the member function of the supplied database operation. */\
     std::function<void(test_harness::thread_context *)> get_func(database_operation *dbo);}