Loading .gitlab-ci.yml +59 −3 Original line number Diff line number Diff line Loading @@ -732,7 +732,7 @@ ivas-pytest-on-merge-request: - non_be_flag=$(grep -c --ignore-case "\[non[ -]*be\]" tmp.txt) || true - ref_using_main=$(grep -c --ignore-case "\[ref[ -]*using[ -]*main\]" tmp.txt) || true ### If ref_using_main is not set, checkoug the source branch to use scripts and input from there ### If ref_using_main is not set, checkout the source branch to use scripts and input from there - if [ $ref_using_main == 0 ]; then git checkout $source_branch_commit_sha; fi ### prepare pytest Loading Loading @@ -767,6 +767,62 @@ ivas-pytest-on-merge-request: junit: - report-junit.xml # Check interop IVAS_cod_test -> IVAS_dec_ref ivas-interop-on-merge-request: extends: - .test-job-linux - .rules-merge-request stage: test needs: ["build-codec-linux-cmake"] timeout: "10 minutes" script: - *print-common-info - *get-commits-behind-count - *check-commits-behind-count-in-compare-jobs - *merge-request-comparison-setup-codec # the next line is dependent on ref-using-main flag in the other tests, but here the flag does not make sense - git checkout $source_branch_commit_sha # some helper variables - "|| true" to prevent failures from grep not finding anything # write to temporary file as workaround for failures observed with piping echo - echo $CI_MERGE_REQUEST_TITLE > tmp.txt - non_interop_flag=$(grep -c --ignore-case "\[non[ -]*io\]" tmp.txt) || true ### prepare pytest # create short test vectors - python3 tests/create_short_testvectors.py # Run reference creation, using source branch encoder and main decoder (see .merge-request-comparison-setup-codec) - exit_code=0 - exit_code2=0 # set timeout for individual testcase runs to 60 seconds - testcase_timeout=60 - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec_ref --testcase_timeout=$testcase_timeout || exit_code=$? - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report2.html --self-contained-html --junit-xml=report2-junit.xml --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec_ref --testcase_timeout=$testcase_timeout || exit_code2=$? - zero_failures=$(cat report-junit.xml report2-junit.xml | grep -c 'failures="0"') || true - if [ $zero_failures != 2 ] && [ $non_interop_flag == 0 ]; then echo "Non-interop cases without non-interop flag encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $zero_failures != 2 ] && [ $non_interop_flag == 1 ]; then echo "Non-interop cases with non-interop flag encountered"; exit $EXIT_CODE_NON_BE; fi - exit 0 allow_failure: exit_codes: - 123 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" expire_in: 1 week when: always paths: - report-junit.xml - report.html - report2-junit.xml - report2.html expose_as: "interop test results" reports: junit: - report*-junit.xml evs-pytest-on-merge-request: extends: - .test-job-linux Loading Loading @@ -1420,7 +1476,7 @@ coverage-test-on-main-scheduled: rules: # only run in scheduled pipeline that passes this env vars - if: $COVERAGE_TEST timeout: 2 hours timeout: 4 hours script: - *print-common-info - *update-ltv-repo Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ endif() if(INCLUDE_SPLIT) file(GLOB libLC3plusSrcs "lib_lc3plus/*.c") file(GLOB libLC3plusHeaders "lib_lc3plus/*.h") add_library(lc3plus ${libLC3plusSrcs} ${libLC3plusHeaders}) add_library(lib_lc3plus ${libLC3plusSrcs} ${libLC3plusHeaders}) target_include_directories(lib_lc3plus PUBLIC lib_lc3plus) target_link_libraries(lib_lc3plus lib_com) # For including options.h, which is needed for instrumentation to work correctly if(WMOPS) Loading Makefile +12 −0 Original line number Diff line number Diff line Loading @@ -180,7 +180,11 @@ $(LIB_LIBREND): $(OBJS_LIBREND) $(QUIET_AR)$(AR) rcs $@ $^ $(LIB_LC3PLUS): $(OBJS_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_AR)$(AR) rcs $@ $^ else endif $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ Loading @@ -189,10 +193,18 @@ $(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(L $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) $(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus $(LDLIBS) -o $(CLI_APIDEC) else $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) endif $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) else $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) endif libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LC3PLUS) $(LIB_LIBUTIL) Loading Workspace_msvc/lib_com.vcxproj +1 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,7 @@ <ClCompile Include="..\lib_com\ivas_fb_mixer.c" /> <ClCompile Include="..\lib_com\ivas_filters.c" /> <ClCompile Include="..\lib_com\ivas_ism_com.c" /> <ClCompile Include="..\lib_com\ivas_lfe_com.c" /> <ClCompile Include="..\lib_com\ivas_mcmasa_com.c" /> <ClCompile Include="..\lib_com\ivas_dirac_com.c" /> <ClCompile Include="..\lib_com\ivas_masa_com.c" /> Loading Workspace_msvc/lib_com.vcxproj.filters +3 −0 Original line number Diff line number Diff line Loading @@ -469,6 +469,9 @@ <ClCompile Include="..\lib_com\ivas_omasa_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_lfe_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_com\basop_proto_func.h"> Loading Loading
.gitlab-ci.yml +59 −3 Original line number Diff line number Diff line Loading @@ -732,7 +732,7 @@ ivas-pytest-on-merge-request: - non_be_flag=$(grep -c --ignore-case "\[non[ -]*be\]" tmp.txt) || true - ref_using_main=$(grep -c --ignore-case "\[ref[ -]*using[ -]*main\]" tmp.txt) || true ### If ref_using_main is not set, checkoug the source branch to use scripts and input from there ### If ref_using_main is not set, checkout the source branch to use scripts and input from there - if [ $ref_using_main == 0 ]; then git checkout $source_branch_commit_sha; fi ### prepare pytest Loading Loading @@ -767,6 +767,62 @@ ivas-pytest-on-merge-request: junit: - report-junit.xml # Check interop IVAS_cod_test -> IVAS_dec_ref ivas-interop-on-merge-request: extends: - .test-job-linux - .rules-merge-request stage: test needs: ["build-codec-linux-cmake"] timeout: "10 minutes" script: - *print-common-info - *get-commits-behind-count - *check-commits-behind-count-in-compare-jobs - *merge-request-comparison-setup-codec # the next line is dependent on ref-using-main flag in the other tests, but here the flag does not make sense - git checkout $source_branch_commit_sha # some helper variables - "|| true" to prevent failures from grep not finding anything # write to temporary file as workaround for failures observed with piping echo - echo $CI_MERGE_REQUEST_TITLE > tmp.txt - non_interop_flag=$(grep -c --ignore-case "\[non[ -]*io\]" tmp.txt) || true ### prepare pytest # create short test vectors - python3 tests/create_short_testvectors.py # Run reference creation, using source branch encoder and main decoder (see .merge-request-comparison-setup-codec) - exit_code=0 - exit_code2=0 # set timeout for individual testcase runs to 60 seconds - testcase_timeout=60 - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec_ref --testcase_timeout=$testcase_timeout || exit_code=$? - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report2.html --self-contained-html --junit-xml=report2-junit.xml --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec_ref --testcase_timeout=$testcase_timeout || exit_code2=$? - zero_failures=$(cat report-junit.xml report2-junit.xml | grep -c 'failures="0"') || true - if [ $zero_failures != 2 ] && [ $non_interop_flag == 0 ]; then echo "Non-interop cases without non-interop flag encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $zero_failures != 2 ] && [ $non_interop_flag == 1 ]; then echo "Non-interop cases with non-interop flag encountered"; exit $EXIT_CODE_NON_BE; fi - exit 0 allow_failure: exit_codes: - 123 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" expire_in: 1 week when: always paths: - report-junit.xml - report.html - report2-junit.xml - report2.html expose_as: "interop test results" reports: junit: - report*-junit.xml evs-pytest-on-merge-request: extends: - .test-job-linux Loading Loading @@ -1420,7 +1476,7 @@ coverage-test-on-main-scheduled: rules: # only run in scheduled pipeline that passes this env vars - if: $COVERAGE_TEST timeout: 2 hours timeout: 4 hours script: - *print-common-info - *update-ltv-repo Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ endif() if(INCLUDE_SPLIT) file(GLOB libLC3plusSrcs "lib_lc3plus/*.c") file(GLOB libLC3plusHeaders "lib_lc3plus/*.h") add_library(lc3plus ${libLC3plusSrcs} ${libLC3plusHeaders}) add_library(lib_lc3plus ${libLC3plusSrcs} ${libLC3plusHeaders}) target_include_directories(lib_lc3plus PUBLIC lib_lc3plus) target_link_libraries(lib_lc3plus lib_com) # For including options.h, which is needed for instrumentation to work correctly if(WMOPS) Loading
Makefile +12 −0 Original line number Diff line number Diff line Loading @@ -180,7 +180,11 @@ $(LIB_LIBREND): $(OBJS_LIBREND) $(QUIET_AR)$(AR) rcs $@ $^ $(LIB_LC3PLUS): $(OBJS_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_AR)$(AR) rcs $@ $^ else endif $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ Loading @@ -189,10 +193,18 @@ $(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(L $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) $(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus $(LDLIBS) -o $(CLI_APIDEC) else $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) endif $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) ifeq "$(INCLUDE_SPLIT)" "1" $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) else $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) endif libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LC3PLUS) $(LIB_LIBUTIL) Loading
Workspace_msvc/lib_com.vcxproj +1 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,7 @@ <ClCompile Include="..\lib_com\ivas_fb_mixer.c" /> <ClCompile Include="..\lib_com\ivas_filters.c" /> <ClCompile Include="..\lib_com\ivas_ism_com.c" /> <ClCompile Include="..\lib_com\ivas_lfe_com.c" /> <ClCompile Include="..\lib_com\ivas_mcmasa_com.c" /> <ClCompile Include="..\lib_com\ivas_dirac_com.c" /> <ClCompile Include="..\lib_com\ivas_masa_com.c" /> Loading
Workspace_msvc/lib_com.vcxproj.filters +3 −0 Original line number Diff line number Diff line Loading @@ -469,6 +469,9 @@ <ClCompile Include="..\lib_com\ivas_omasa_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> <ClCompile Include="..\lib_com\ivas_lfe_com.c"> <Filter>common_ivas_c</Filter> </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_com\basop_proto_func.h"> Loading