1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3# 4# Copyright (c) 2024 Huawei Device Co., Ltd. 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16# 17 18import os 19import logging 20 21import stress_common 22from stress_test262 import Test262StressTest 23from stress_common import SCRIPT_DIR, TMP_DIR 24 25NODE_GIT_URL = "https://github.com/nodejs/node.git" 26NODE_GIT_HASH = "0095726bf3d0a2c01062d98e087526299e709515" 27 28 29class NodeJSStressTest(Test262StressTest): 30 31 def __init__(self, args): 32 super().__init__(args) 33 self.js_dir = os.path.join(TMP_DIR, 'abckit_nodejs') 34 35 def get_fail_list_path(self) -> str: 36 return os.path.join(SCRIPT_DIR, 'fail_list_node_js.json') 37 38 def prepare(self) -> None: 39 if not os.path.exists(self.js_dir): 40 stress_common.stress_exec( 41 ['git', 'clone', NODE_GIT_URL, self.js_dir], repeats=5) 42 stress_common.stress_exec( 43 ['git', '-C', self.js_dir, 'checkout', NODE_GIT_HASH]) 44