# ===================================================== # Apckeyl Framework # Version 1.5 # app.py # ===================================================== """ Temporary Apckeyl Framework Test Interface. Version 1.5 """ import traceback import gradio as gr import spaces from control_plane_test_report import ( generate_text_report, ) # ===================================================== # Run Tests # ===================================================== @spaces.GPU def run_control_plane_tests(): try: return generate_text_report() except Exception as error: output = [] output.append( "============================================================" ) output.append( "APCKEYL FRAMEWORK" ) output.append( "CONTROL PLANE TEST ERROR" ) output.append( "============================================================" ) output.append("") output.append( f"Error: {error}" ) output.append("") output.append( traceback.format_exc() ) return "\n".join(output) # ===================================================== # Gradio Interface # ===================================================== with gr.Blocks( title="Apckeyl Framework Test" ) as demo: gr.Markdown( """ # Apckeyl Framework ## Control Plane Test Runner Version 1.5 Нажмите кнопку для запуска полного тестового контура Framework. """ ) run_button = gr.Button( "▶ Run Control Plane Tests" ) result_box = gr.Textbox( label="Test Result", lines=30, interactive=False, ) run_button.click( fn=run_control_plane_tests, inputs=[], outputs=result_box, ) # ===================================================== # Launch # ===================================================== demo.launch()