• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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