mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
fix 'determine_max_processes' for disabled Parallel Processing and Merged abapGit (#6559)
This commit is contained in:
parent
cb08c70741
commit
05b8f90520
|
@ -314,7 +314,6 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_true
|
||||
OR lo_settings->get_parallel_proc_disabled( ) = abap_true.
|
||||
gv_max_processes = 1.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
|
|
@ -1,6 +1,110 @@
|
|||
CLASS ltcl_determine_max_processes DEFINITION DEFERRED.
|
||||
CLASS zcl_abapgit_serialize DEFINITION LOCAL FRIENDS ltcl_determine_max_processes.
|
||||
|
||||
CLASS ltd_settings DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES:
|
||||
zif_abapgit_persist_settings.
|
||||
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
iv_parallel_proc_disabled TYPE abap_bool.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA:
|
||||
ms_settings TYPE zif_abapgit_definitions=>ty_s_user_settings.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltd_settings IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
ms_settings-parallel_proc_disabled = iv_parallel_proc_disabled.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_persist_settings~modify.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_persist_settings~read.
|
||||
|
||||
CREATE OBJECT ro_settings.
|
||||
ro_settings->set_parallel_proc_disabled( ms_settings-parallel_proc_disabled ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_environment DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES:
|
||||
zif_abapgit_environment.
|
||||
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
iv_is_merged TYPE abap_bool.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA:
|
||||
mv_is_merged TYPE abap_bool.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_environment IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
mv_is_merged = iv_is_merged.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~compare_with_inactive.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~get_basis_release.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~get_system_language_filter.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_merged.
|
||||
rv_result = mv_is_merged.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_repo_object_changes_allowed.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_restart_required.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_sap_cloud_platform.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_sap_object_allowed.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_environment~is_variant_maintenance.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_determine_max_processes DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
@ -9,12 +113,24 @@ CLASS ltcl_determine_max_processes DEFINITION FOR TESTING DURATION SHORT RISK LE
|
|||
|
||||
METHODS:
|
||||
setup,
|
||||
determine_max_threads FOR TESTING RAISING zcx_abapgit_exception,
|
||||
|
||||
teardown,
|
||||
|
||||
given_parallel_proc_disabled
|
||||
IMPORTING
|
||||
iv_parallel_proc_disabled TYPE abap_bool,
|
||||
|
||||
given_is_merged
|
||||
IMPORTING
|
||||
iv_is_merged TYPE abap_bool,
|
||||
|
||||
determine_max_processes FOR TESTING RAISING zcx_abapgit_exception,
|
||||
determine_max_processes_no_pp FOR TESTING RAISING zcx_abapgit_exception,
|
||||
determine_max_processes_merged FOR TESTING RAISING zcx_abapgit_exception,
|
||||
force FOR TESTING RAISING zcx_abapgit_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_determine_max_processes IMPLEMENTATION.
|
||||
|
||||
METHOD setup.
|
||||
|
@ -25,29 +141,103 @@ CLASS ltcl_determine_max_processes IMPLEMENTATION.
|
|||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD determine_max_threads.
|
||||
METHOD teardown.
|
||||
|
||||
DATA: lv_threads TYPE i.
|
||||
CLEAR: mo_cut->gv_max_processes.
|
||||
|
||||
lv_threads = mo_cut->determine_max_processes( 'ZDUMMY' ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_max_processes.
|
||||
|
||||
DATA: lv_processes TYPE i.
|
||||
|
||||
lv_processes = mo_cut->determine_max_processes( 'ZDUMMY' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_differs(
|
||||
act = lv_threads
|
||||
act = lv_processes
|
||||
exp = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_max_processes_no_pp.
|
||||
|
||||
DATA: lv_processes TYPE i.
|
||||
|
||||
given_parallel_proc_disabled( abap_true ).
|
||||
|
||||
lv_processes = mo_cut->determine_max_processes( 'ZDUMMY' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_differs(
|
||||
act = lv_processes
|
||||
exp = 0 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_max_processes_merged.
|
||||
|
||||
DATA: lv_processes TYPE i.
|
||||
|
||||
given_is_merged( abap_true ).
|
||||
|
||||
lv_processes = mo_cut->determine_max_processes( 'ZDUMMY' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_differs(
|
||||
act = lv_processes
|
||||
exp = 0 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD force.
|
||||
|
||||
DATA: lv_threads TYPE i.
|
||||
DATA: lv_processes TYPE i.
|
||||
|
||||
lv_threads = mo_cut->determine_max_processes( iv_force_sequential = abap_true
|
||||
iv_package = 'ZDUMMY' ).
|
||||
lv_processes = mo_cut->determine_max_processes( iv_force_sequential = abap_true
|
||||
iv_package = 'ZDUMMY' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_threads
|
||||
act = lv_processes
|
||||
exp = 1 ).
|
||||
|
||||
given_parallel_proc_disabled( abap_true ).
|
||||
|
||||
lv_processes = mo_cut->determine_max_processes( iv_force_sequential = abap_true
|
||||
iv_package = 'ZDUMMY' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_processes
|
||||
exp = 1 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD given_parallel_proc_disabled.
|
||||
|
||||
DATA:
|
||||
lo_settings_double TYPE REF TO ltd_settings.
|
||||
|
||||
CREATE OBJECT lo_settings_double
|
||||
EXPORTING
|
||||
iv_parallel_proc_disabled = iv_parallel_proc_disabled.
|
||||
|
||||
zcl_abapgit_persist_injector=>set_settings( lo_settings_double ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD given_is_merged.
|
||||
|
||||
DATA:
|
||||
lo_environment_double TYPE REF TO ltd_environment.
|
||||
|
||||
CREATE OBJECT lo_environment_double
|
||||
EXPORTING
|
||||
iv_is_merged = iv_is_merged.
|
||||
|
||||
zcl_abapgit_injector=>set_environment( lo_environment_double ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user