mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-24 20:23:19 +00:00
3.7 KiB
3.7 KiB
Release Check List
Abstract
This document goes thru a basic check list of tasks that should be done, to test the agent prior to releasing an agent update.
Preparation
- Prior to testing the Mesh Agent release candidate, you should pull the latest MeshCentral from GIT, as we'll be needing to use some things from MeshCentral for testing. This folder should be separate from your actual MeshCentral server, as it will be used as a Test Server.
- After compiling the Mesh Agent, copy the two Windows Binaries (
MeshService64.exe and MeshService.exe) from theMeshAgent/Releasefolder to theMeshCentral/agentsfolder. When you start the server, it will sign the two binaries and place them in themeshcentral-data/signedagents folder - Build a test meshcmd, by running the following command, from the
MeshCentral/agentsfolder, swapping the actual path for the modules folder:
MeshService64 "C:\GITHub\MeshAgent\modules\exe.js" -omeshcmd.exe -dC:\GITHub\MeshCentral\agents\modules_meshcmd
Self Update Testing
- Run update-test.js in native mode, CycleCount to 20, from the
meshcentral-data/signedagentsfolder for Windows, andMeshCentral/agentsfolder for other platforms.
MeshService64 "C:\GITHub\MeshAgent\test\update-test.js" --CycleCount=20
./meshagent /home/GITHub/MeshAgent/test/update-test.js --CycleCount=20
- Run update-test.js in JS mode, CycleCount to 20, from the
meshcentral-data/signedagentsfolder for Windows, andMeshCentral/agentsfolder for other platforms.
MeshService64 "C:\GITHub\MeshAgent\test\update-test.js" --RecoveryCore="C:\GITHub\MeshCentral\agents" --JS --CycleCount=20
./meshagent /home/GITHub/MeshAgent/test/update-test.js --RecoveryCore="/home/GITHub/MeshCentral/agents" --JS --CycleCount=20
Unit Tests
- Run self-test.js. If any failures, re-run individual tests, to verify if is an actual failure, and not a fault of the test tool.
MeshService64 "C:\GITHub\MeshAgent\test\self-test.js" --AgentsFolder="C:\GITHub\MeshCentral\agents"
./meshagent /home/GITHub/MeshAgent/test/self-test.js --AgentsFolder="C:\GITHub\MeshCentral\agents"
Manual Tests
After running the automated tests, it is a good idea to manually run a few additional tests to cover additional areas of the agent that may not have been covered by the automated tests
- Download the agent from the test server, and install as if you are installing a new agent.
- Once the agent connects to the server, navigate to the
console taband run the commandfdsnapshotto get a baseline idea of what resources are consumed when idle. - Connect a KVM session, and verify that the user consent and profile images (on Windows) work correctly. Once connected, on Windows try to select different displays and verify that the display changes.
- After disconnecting KVM, run the
fdsnapshotcommand again, and verify that it matches the idle state capture from earlier. - Connect a root, and a user terminal session. Run
fdsnapshotafter closing the terminal session to verify resource release. - Connect a file session, and verify you can navigate to different folders. After closing, run the
fdsnapshotcommand again to verify resource release. - From the
console tabrun the following command, to verify that the agent can restart itself:
service restart
Manual AMT Tests
Using the meshcmd that we built previously, we can manually run some AMT tests on AMT capable platforms.
meshcmd AmtInfo. This will test mei functionality, and let you know the provisioning state of AMT.meshcmd AmtEventLog. If you run this on an already provisioned AMT, it will test the WSMAN functionality to retrieve the AMT event log.