1# Copyright 2024 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file 4 5from typing import Optional 6 7from crossbench.browsers.browser import Browser 8from crossbench.flags.base import Flags 9from crossbench.runner.groups.session import BrowserSessionRunGroup 10from tests.crossbench.runner.helper import BaseRunnerTestCase 11 12 13class BaseRunGroupTestCase(BaseRunnerTestCase): 14 15 def setUp(self): 16 super().setUp() 17 self.root_dir = self.out_dir / "custom" 18 self.runner = self.default_runner() 19 20 def default_session(self, 21 browser: Optional[Browser] = None, 22 throw: bool = True): 23 browser = browser or self.browsers[0] 24 return BrowserSessionRunGroup(self.runner.env, self.runner.probes, browser, 25 Flags(), 0, self.root_dir, 26 self.runner.create_symlinks, throw) 27