idlize
1/*
2* Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3* Licensed under the Apache License, Version 2.0 (the "License");
4* you may not use this file except in compliance with the License.
5* You may obtain a copy of the License at
6*
7* http://www.apache.org/licenses/LICENSE-2.0
8*
9* Unless required by applicable law or agreed to in writing, software
10* distributed under the License is distributed on an "AS IS" BASIS,
11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12* See the License for the specific language governing permissions and
13* limitations under the License.
14*/
15
16const path = require("path")17const process = require("process")18
19function goldenSetup(resDir, testDir) {20const root = path.resolve(".", resDir)21const testRoot = path.resolve(testDir)22if (root != testRoot) {23process.env.KOALAUI_RESOURCE_ROOT = root24}25process.env.KOALAUI_TEST_ROOT = path.relative(root, testRoot)26const argGenGolden = "--gen-golden"27for (let str of process.argv) {28if (str.startsWith(argGenGolden)) {29process.env.KOALAUI_TEST_GOLDEN_GEN_DIR = path.relative(root, path.resolve(testRoot, "test", "resources", "golden"))30if (str.length > argGenGolden.length + 1) {31const gdir = str.substring(argGenGolden.length + 1);32if (gdir.length > 0 && gdir != "true") {33process.env.KOALAUI_TEST_GOLDEN_GEN_DIR = path.relative(root, path.resolve(gdir))34}35}36break37}38}39}
40
41exports.goldenSetup = goldenSetup42