Files
NexQuant/test/utils/test_import.py
T
Linlang 805f337fc4 chore: add a rdagent server with UI & logger storage refinement(#553)
* change_log_object

* lint code

* delete comments

* change_log_object

* change_log_object

* fix import test error

* update code

* update code

* fix bugs

* skip mypy error

* skip mypy error

* skip mypy error

* Start the flask server before running the demo.

* achieve front and back interaction

* fix github-advanced-security comments

* fix github-advanced-security comments

* tmp ignore

* fix CI

* move some logic

* change format

* adjust logic

* log2json changes

* tmp

* fix

* fix bug

* refine log2json between 5 scenarios

* fix

* refine codes

* fix logic

* use localhost

* add loop & all_duration param for old scenario startup

* merge control logic

* add README for server ui api

* update README

* reuse code in logger

* add loop_n and all_duration param

* fix upload

* ui server now use port in setting

* fix port setting

* fix port setting

* fix mypy check

* refine logger and log storage

* fix ruff error

* fix CI

* refine logger, loop, storage

* bind one FileStorage with one logger

* not truncate log storage

* refine LoopBase.load(), use `checkout` instead of `output_path` and `do_truncate`

* clear session folder when loading loop to run

* move component info init step to ExpGen Class

* Update rdagent/utils/workflow.py

* move truncate_session function to LoopBase class

* add checkout param for other scenarios

* fix bug

* move WebStorage to UI

* change web_storage name

* add randomname to requirements

* add typer

* fix requirements

---------

Co-authored-by: WinstonLiyte <1957922024@qq.com>
Co-authored-by: Bowen Xian <xianbowen@outlook.com>
Co-authored-by: you-n-g <you-n-g@users.noreply.github.com>
2025-06-06 18:52:19 +08:00

53 lines
1.6 KiB
Python

import importlib
import os
import unittest
from pathlib import Path
import pytest
@pytest.mark.offline
class TestRDAgentImports(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.rdagent_directory = Path(__file__).resolve().parent.parent.parent
cls.modules = list(cls.import_all_modules_from_directory(cls.rdagent_directory))
@staticmethod
def import_all_modules_from_directory(directory):
for file in directory.joinpath("rdagent").rglob("*.py"):
fstr = str(file)
if "meta_tpl" in fstr:
continue
if "template" in fstr or "tpl" in fstr:
continue
if "model_coder" in fstr:
continue
if "llm_st" in fstr:
continue
if (
"rdagent/log/ui/" in fstr
or fstr.endswith("rdagent/app/cli.py")
or fstr.endswith("rdagent/app/CI/run.py")
or fstr.endswith("rdagent/app/utils/ape.py")
or fstr.endswith("rdagent/log/ui/utils.py")
):
# the entrance points
continue
yield fstr[fstr.index("rdagent") : -3].replace("/", ".")
def test_import_modules(self):
print(self.modules)
for module_name in self.modules:
with self.subTest(module=module_name):
try:
print(module_name)
importlib.import_module(module_name)
except Exception as e:
self.fail(f"Failed to import {module_name}: {e}")
if __name__ == "__main__":
unittest.main()