15ba71b47Sopenharmony_ci#!/usr/bin/env python3
25ba71b47Sopenharmony_ci#-*- coding: utf-8 -*-
35ba71b47Sopenharmony_ci
45ba71b47Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
55ba71b47Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
65ba71b47Sopenharmony_ci# you may not use this file except in compliance with the License.
75ba71b47Sopenharmony_ci# You may obtain a copy of the License at
85ba71b47Sopenharmony_ci#
95ba71b47Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
105ba71b47Sopenharmony_ci#
115ba71b47Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
125ba71b47Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
135ba71b47Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145ba71b47Sopenharmony_ci# See the License for the specific language governing permissions and
155ba71b47Sopenharmony_ci# limitations under the License.
165ba71b47Sopenharmony_ci
175ba71b47Sopenharmony_cifrom devicetest.utils.file_util import get_resource_path
185ba71b47Sopenharmony_ci
195ba71b47Sopenharmony_ci
205ba71b47Sopenharmony_cidef get_source_path(need_source, casename):
215ba71b47Sopenharmony_ci    """
225ba71b47Sopenharmony_ci    @func: get the resource path required for a case
235ba71b47Sopenharmony_ci    @param need_source: the resources required for a case
245ba71b47Sopenharmony_ci    @param casename: the case name
255ba71b47Sopenharmony_ci    @return: source absolute paths
265ba71b47Sopenharmony_ci    """
275ba71b47Sopenharmony_ci
285ba71b47Sopenharmony_ci    source_path = {}
295ba71b47Sopenharmony_ci    if need_source["cfg"]:
305ba71b47Sopenharmony_ci        cfg_relative_path = "resource/" + casename + "/listen_test.cfg"
315ba71b47Sopenharmony_ci        json_relative_path = "resource/" + casename + "/listen_test.json"
325ba71b47Sopenharmony_ci        sa_listen_cfg_path = get_resource_path(
335ba71b47Sopenharmony_ci            cfg_relative_path,
345ba71b47Sopenharmony_ci            isdir=None)
355ba71b47Sopenharmony_ci        sa_listen_json_path = get_resource_path(
365ba71b47Sopenharmony_ci            json_relative_path,
375ba71b47Sopenharmony_ci            isdir=None)
385ba71b47Sopenharmony_ci        source_path["sa_listen_cfg_path"] = sa_listen_cfg_path
395ba71b47Sopenharmony_ci        source_path["sa_listen_json_path"] = sa_listen_json_path
405ba71b47Sopenharmony_ci
415ba71b47Sopenharmony_ci    if need_source["fwk"]:
425ba71b47Sopenharmony_ci        sa_lib_fwk_path = get_resource_path(
435ba71b47Sopenharmony_ci            "resource/soResource/libsystem_ability_fwk.z.so",
445ba71b47Sopenharmony_ci            isdir=None)
455ba71b47Sopenharmony_ci        source_path["sa_lib_fwk_path"] = sa_lib_fwk_path
465ba71b47Sopenharmony_ci
475ba71b47Sopenharmony_ci    if need_source["listen_test"]:
485ba71b47Sopenharmony_ci        sa_lib_listen_test_path = get_resource_path(
495ba71b47Sopenharmony_ci            "resource/soResource/liblisten_test.z.so",
505ba71b47Sopenharmony_ci            isdir=None)
515ba71b47Sopenharmony_ci        source_path["sa_lib_listen_test_path"] = sa_lib_listen_test_path
525ba71b47Sopenharmony_ci
535ba71b47Sopenharmony_ci    if need_source["audio_ability"]:
545ba71b47Sopenharmony_ci        sa_lib_audio_ability = get_resource_path(
555ba71b47Sopenharmony_ci            "resource/soResource/libtest_audio_ability.z.so",
565ba71b47Sopenharmony_ci            isdir=None)
575ba71b47Sopenharmony_ci        source_path["sa_lib_audio_ability"] = sa_lib_audio_ability
585ba71b47Sopenharmony_ci
595ba71b47Sopenharmony_ci    if need_source["ondemand"]:
605ba71b47Sopenharmony_ci        sa_ondemand_path = get_resource_path(
615ba71b47Sopenharmony_ci            "resource/soResource/ondemand",
625ba71b47Sopenharmony_ci            isdir=None)
635ba71b47Sopenharmony_ci        source_path["sa_ondemand_path"] = sa_ondemand_path
645ba71b47Sopenharmony_ci
655ba71b47Sopenharmony_ci    if need_source["proxy"]:
665ba71b47Sopenharmony_ci        sa_proxy_path = get_resource_path(
675ba71b47Sopenharmony_ci            "resource/soResource/libtest_sa_proxy_cache.z.so",
685ba71b47Sopenharmony_ci            isdir=None)
695ba71b47Sopenharmony_ci        source_path["sa_proxy_path"] = sa_proxy_path
705ba71b47Sopenharmony_ci
715ba71b47Sopenharmony_ci    if need_source["para"]:
725ba71b47Sopenharmony_ci        sa_para_path = get_resource_path(
735ba71b47Sopenharmony_ci            "resource/level0/case13_param001/samgr.para",
745ba71b47Sopenharmony_ci            isdir=None)
755ba71b47Sopenharmony_ci        sa_para_dac_path = get_resource_path(
765ba71b47Sopenharmony_ci            "resource/level0/case13_param001/samgr.para.dac",
775ba71b47Sopenharmony_ci            isdir=None)
785ba71b47Sopenharmony_ci        sa_para_origin = get_resource_path(
795ba71b47Sopenharmony_ci            "resource/originFile/samgr.para",
805ba71b47Sopenharmony_ci            isdir=None)
815ba71b47Sopenharmony_ci        sa_para_dac_origin = get_resource_path(
825ba71b47Sopenharmony_ci            "resource/originFile/samgr.para.dac",
835ba71b47Sopenharmony_ci            isdir=None)
845ba71b47Sopenharmony_ci        source_path["sa_para_path"] = sa_para_path
855ba71b47Sopenharmony_ci        source_path["sa_para_dac_path"] = sa_para_dac_path
865ba71b47Sopenharmony_ci        source_path["sa_para_origin"] = sa_para_origin
875ba71b47Sopenharmony_ci        source_path["sa_para_dac_origin"] = sa_para_dac_origin
885ba71b47Sopenharmony_ci
895ba71b47Sopenharmony_ci    return source_path
90