コード例 #1
0
ファイル: test_branch_config.py プロジェクト: 5l1v3r1/orion-1
    def test_bad_name_experiment(self, parent_config, child_config,
                                 monkeypatch):
        """Test if changing the experiment names does not work for invalid name and revert
        to old one
        """
        def _is_unique(self, *args, **kwargs):
            return False

        def _versions(self, *args, **kwargs):
            return True

        monkeypatch.setattr(ExperimentNameConflict.ExperimentNameResolution,
                            "_name_is_unique", _is_unique)
        monkeypatch.setattr(ExperimentNameConflict.ExperimentNameResolution,
                            "_check_for_greater_versions", _versions)

        conflicts = detect_conflicts(parent_config, child_config)
        branch_builder = ExperimentBranchBuilder(conflicts,
                                                 {'manual_resolution': True})

        assert len(conflicts.get()) == 1
        assert len(conflicts.get_resolved()) == 0

        conflict = conflicts.get([ExperimentNameConflict])[0]

        assert not conflict.is_resolved
        branch_builder.change_experiment_name('test2')
        assert len(conflicts.get_resolved()) == 0
        assert conflict.new_config['name'] == 'test'
        assert not conflict.is_resolved
コード例 #2
0
    def test_name_experiment(self, parent_config, child_config, create_db_instance):
        """Test if changing the experiment names work for valid name"""
        conflicts = detect_conflicts(parent_config, child_config)
        branch_builder = ExperimentBranchBuilder(conflicts, {})

        assert len(conflicts.get()) == 1
        assert len(conflicts.get_resolved()) == 0

        conflict = conflicts.get([ExperimentNameConflict])[0]

        assert conflict.new_config['name'] == 'test'
        assert not conflict.is_resolved
        branch_builder.change_experiment_name('test2')
        assert len(conflicts.get_resolved()) == 1
        assert conflict.new_config['name'] == 'test2'
        assert conflict.is_resolved
コード例 #3
0
    def test_bad_name_experiment(self, parent_config, child_config, create_db_instance):
        """Test if changing the experiment names does not work for invalid name and revert
        to old one
        """
        create_db_instance.write('experiments', parent_config)

        conflicts = detect_conflicts(parent_config, child_config)
        branch_builder = ExperimentBranchBuilder(conflicts, {})

        assert len(conflicts.get()) == 1
        assert len(conflicts.get_resolved()) == 0

        conflict = conflicts.get([ExperimentNameConflict])[0]

        conflict.new_config['name'] = 'should-not-be-overwritten'
        assert not conflict.is_resolved
        branch_builder.change_experiment_name('test')
        assert len(conflicts.get_resolved()) == 0
        assert conflict.new_config['name'] == 'should-not-be-overwritten'
        assert not conflict.is_resolved
コード例 #4
0
    def test_name_experiment(self, bad_exp_parent_config, bad_exp_child_config, create_db_instance):
        """Test if having the same experiment name does not create a conflict."""
        backward.populate_space(bad_exp_parent_config)
        backward.populate_space(bad_exp_child_config)
        create_db_instance.write('experiments', bad_exp_parent_config)
        create_db_instance.write('experiments', bad_exp_child_config)
        conflicts = detect_conflicts(bad_exp_parent_config, bad_exp_parent_config)
        branch_builder = ExperimentBranchBuilder(conflicts, manual_resolution=True)

        assert len(conflicts.get()) == 1
        assert len(conflicts.get_resolved()) == 0

        conflict = conflicts.get([ExperimentNameConflict])[0]

        assert conflict.new_config['name'] == 'test'
        assert not conflict.is_resolved
        branch_builder.change_experiment_name('test2')
        assert len(conflicts.get_resolved()) == 1
        assert conflict.new_config['name'] == 'test2'
        assert conflict.is_resolved