def test_extra_resources(HelloTest, testsys_system):
    @test_util.custom_prefix('unittests/resources/checks')
    class MyTest(HelloTest):
        def __init__(self):
            super().__init__()
            self.name = type(self).__name__
            self.executable = os.path.join('.', self.name)
            self.local = True

        @run_after('setup')
        def set_resources(self):
            test.extra_resources = {
                'gpu': {
                    'num_gpus_per_node': 2
                },
                'datawarp': {
                    'capacity': '100GB',
                    'stagein_src': test.stagedir
                }
            }
            test.job.options += ['--foo']

    test = MyTest()
    partition = test_util.partition_by_name('gpu')
    environ = partition.environment('builtin')
    _run(test, partition, environ)
    expected_job_options = {
        '--gres=gpu:2', '#DW jobdw capacity=100GB',
        f'#DW stage_in source={test.stagedir}', '--foo'
    }
    assert expected_job_options == set(test.job.options)
def local_exec_ctx(generic_system):
    partition = test_util.partition_by_name('default')
    environ = test_util.environment_by_name('builtin', partition)
    yield partition, environ
def dummy_gpu_exec_ctx(testsys_system):
    partition = test_util.partition_by_name('gpu')
    environ = test_util.environment_by_name('builtin', partition)
    yield partition, environ