mirror of
https://gitee.com/Vancouver2017/luban-lite.git
synced 2025-12-19 02:28:54 +00:00
v1.2.1
This commit is contained in:
72
packages/third-party/nimble/tools/hci_throughput/util.py
vendored
Normal file
72
packages/third-party/nimble/tools/hci_throughput/util.py
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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 logging
|
||||
import shutil
|
||||
import time
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def create_test_directory():
|
||||
test_dir_name = "tests/" + time.strftime("%Y_%m_%d_%H_%M_%S")
|
||||
path = os.path.join(os.getcwd(), test_dir_name)
|
||||
os.mkdir(path, mode=0o777)
|
||||
print("Test directory: ", path)
|
||||
return path
|
||||
|
||||
|
||||
def configure_logging(log_filename, clear_log_file=True):
|
||||
format_template = ("%(asctime)s %(threadName)s %(name)s %(levelname)s "
|
||||
"%(filename)-25s %(lineno)-5s "
|
||||
"%(funcName)-25s : %(message)s")
|
||||
logging.basicConfig(format=format_template,
|
||||
filename=log_filename,
|
||||
filemode='a',
|
||||
level=logging.DEBUG)
|
||||
if clear_log_file:
|
||||
with open(log_filename, "w") as f:
|
||||
f.write("asctime\t\t\t\t\tthreadName name levelname filename\
|
||||
\tlineno\tfuncName\t\t\t\tmessage\n")
|
||||
|
||||
logging.getLogger("asyncio").setLevel(logging.WARNING)
|
||||
logging.getLogger("matplotlib").setLevel(logging.WARNING)
|
||||
|
||||
|
||||
def copy_config_files_to_test_directory(files: list, test_directory: str):
|
||||
for file in files:
|
||||
shutil.copy(file, test_directory + "/" + Path(file).name)
|
||||
|
||||
|
||||
def copy_log_files_to_test_directory(dir: str):
|
||||
log_files = ["log/log_rx.log", "log/log_tx.log", "log/check_addr.log"]
|
||||
for file in log_files:
|
||||
shutil.copy(file, dir + "/" + time.strftime("%Y_%m_%d_%H_%M_%S_") +
|
||||
file.replace("log/", ""))
|
||||
|
||||
|
||||
# Running tests as sudo implies root permissions on created directories/files.
|
||||
# This function sets the default permission mode to dirs/files in given path
|
||||
# recursively.
|
||||
def set_default_chmod_recurs(path):
|
||||
for root, dirs, files in os.walk(path):
|
||||
for d in dirs:
|
||||
os.chmod(os.path.join(root, d), 0o0777)
|
||||
for f in files:
|
||||
os.chmod(os.path.join(root, f), 0o0777)
|
||||
Reference in New Issue
Block a user