@@ -232,18 +232,24 @@ TEST_CASE("job::Child - construct and size") {
232232 CHECK (jf.context_ .number_of_jobs () == 0 );
233233}
234234
235- class TestJobRoot : public JobRoot {
235+
236+ class TestJobRootBase {
237+ protected:
236238 Config config_{};
237- ContextResources resources_{
239+ mutable ContextResources resources_{
238240 config_, std::make_shared<Logger>(" log" ), 1 , 1 , " " };
239241 StorageManager sm_{resources_, config_};
242+ TestJobRootBase () = default ;
243+ };
240244
245+ class TestJobRoot : protected TestJobRootBase , public JobRoot {
246+ using Base = TestJobRootBase;
241247 public:
242248 TestJobRoot ()
243- : JobRoot(sm_) {
249+ : TestJobRootBase(), JobRoot(Base:: sm_) {
244250 }
245- ContextResources& resources () override {
246- return resources_;
251+ ContextResources& resources () const override {
252+ return Base:: resources_;
247253 }
248254};
249255static_assert (TestJobRoot::is_parent);
@@ -258,7 +264,7 @@ class TestJobBranch : public JobBranch {
258264 TestJobBranch (JobParent& parent)
259265 : JobBranch(parent) {
260266 }
261- ContextResources& resources () override {
267+ ContextResources& resources () const override {
262268 return parent ().resources ();
263269 }
264270};
@@ -297,15 +303,20 @@ TEST_CASE("TestJobLeaf - construct from branch") {
297303 TestJobLeaf leaf{branch};
298304}
299305
300- class TestJobIsolate : public JobIsolate {
306+ class TestJobIsolateBase {
307+ protected:
301308 Config config_{};
302309 ContextResources resources_{
303310 config_, std::make_shared<Logger>(" log" ), 1 , 1 , " " };
304311 StorageManager sm_{resources_, config_};
312+ TestJobIsolateBase () = default ;
313+ };
305314
315+ class TestJobIsolate : protected TestJobIsolateBase , public JobIsolate {
316+ using Base = TestJobIsolateBase;
306317 public:
307318 TestJobIsolate ()
308- : JobIsolate(sm_) {
319+ : TestJobIsolateBase(), JobIsolate(Base:: sm_) {
309320 }
310321};
311322static_assert (!TestJobIsolate::is_parent);
0 commit comments