Skip to main content
Glama

instrumentedTest

Execute instrumented tests for Android projects directly within Visual Studio Code by specifying the project folder path, enabling streamlined testing workflows.

Instructions

Run instrumented test for the Android project in the folder

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folderYesThe full path of the current folder that the Android project sits

Implementation Reference

  • The call_tool handler function parses arguments using Folder schema, dispatches based on tool name, and for 'instrumentedTest' runs the instrumentedTest.sh script via subprocess, processes output to extract errors or success.
    @server.call_tool() async def call_tool(name, arguments: dict) -> list[TextContent]: try: args = Folder(**arguments) except ValueError as e: raise McpError(ErrorData(code=INVALID_PARAMS, message=str(e))) # os.chdir(args.folder) script_dir = os.path.dirname(os.path.abspath(__file__)) command = [""] if name == "build": command = [os.path.join(script_dir, "build.sh"), args.folder] elif name == "test": command = [os.path.join(script_dir, "test.sh"), args.folder] else: command = [os.path.join(script_dir, "instrumentedTest.sh"), args.folder] result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=False) stdout_lines = result.stdout.decode("utf-8").splitlines() stderr_lines = result.stderr.decode("utf-8").splitlines() all_lines = stdout_lines + stderr_lines error_lines = [line for line in all_lines if "failure: " in line.lower() or "e: " in line.lower() or " failed" in line.lower()] error_message = "\n".join(error_lines) if not error_message: error_message = "Successful" return [ TextContent(type="text", text=f"{error_message}") ]
  • Pydantic BaseModel defining the input parameters for the tools, used as inputSchema. Requires a 'folder' path.
    class Folder(BaseModel): """Parameters""" folder: Annotated[str, Field(description="The full path of the current folder that the Android project sits")]
  • Registration of the 'instrumentedTest' tool in the list_tools() function, providing name, description, and referencing Folder schema.
    Tool( name="instrumentedTest", description="Run instrumented test for the Android project in the folder", inputSchema=Folder.model_json_schema(), )

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShenghaiWang/androidbuild'

If you have feedback or need assistance with the MCP directory API, please join our Discord server