# Copyright (c) 2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos.gni")
import("//build/test.gni")

if (is_standard_system || ark_standalone_build) {
  _icu_path_ = "thirdparty/icu"
} else {
  _icu_path_ = "global/i18n"
}
module_output_path = "third_party/jerryscript"

template("host_unittest_action") {
  _target_name_ = "${target_name}"

  # unittest for phone running
  ohos_unittest(_target_name_) {
    forward_variables_from(invoker, "*")
  }

  # _module_out_path_ = invoker.module_out_path

  # unittest for host running
  action("${_target_name_}Action") {
    testonly = true
    _host_test_target_ = ":${_target_name_}(${host_toolchain})"
    _root_out_dir_ = get_label_info(_host_test_target_, "root_out_dir")

    deps = [ _host_test_target_ ]
    jerry_dir = "./"
    script = "//third_party/jerryscript/tools/runners/run-test-suite.py"
    inputs = []
    outputs = [ "$target_out_dir/${_target_name_}/" ]

    if ("${_target_name_}" == "JsEs2015Test") {
      args = [
        "--engine",
        rebase_path(_root_out_dir_) + "/common/common/jerry",
        "--test-dir",
        rebase_path(jerry_dir),
        "--skip-list=es5.1",
        "--skip-file=eval.js",
      ]
    }
    if ("${_target_name_}" == "JsEsTest") {
      args = [
        "--engine",
        rebase_path(_root_out_dir_) + "/common/common/jerry",
        "--test-dir",
        rebase_path(jerry_dir),
        "--skip-list=es2015",
        "--skip-file=eval.js",
      ]
    }
  }
}