Skip to content

Commit 87fd042

Browse files
authored
Polyscope x integration tests (#295)
Run integration tests against a PolyScopeX URSim in CI
1 parent 41d4d01 commit 87fd042

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
- ROBOT_MODEL: 'ur20'
2727
URSIM_VERSION: 'latest'
2828
PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series'
29+
- ROBOT_MODEL: 'ur5e'
30+
URSIM_VERSION: '10.7.0'
31+
PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/polyscopex'
2932

3033
steps:
3134
- uses: actions/checkout@v4
@@ -68,7 +71,7 @@ jobs:
6871
token: ${{ secrets.CODECOV_TOKEN }}
6972
flags: ${{ matrix.env.ROBOT_MODEL }}-${{ matrix.env.URSIM_VERSION }}
7073
- name: Generate URSim log files
71-
if: always()
74+
if: always() && matrix.env.URSIM_VERSION != '10.7.0'
7275
run: |
7376
nc -q 1 192.168.56.101 29999 <<END
7477
saveLog
@@ -78,21 +81,21 @@ jobs:
7881
docker cp ursim:/ursim/polyscope.log ursim_logs/polyscope.log
7982
docker cp ursim:/ursim/log_history.txt ursim_logs/log_history.txt
8083
- name: Copy flight reports
81-
if: failure()
84+
if: failure() && matrix.env.URSIM_VERSION != '10.7.0'
8285
run: |
8386
mkdir -p ursim_logs/flightreports
8487
docker cp ursim:/ursim/flightreports/. ursim_logs/flightreports/
8588
- name: Upload logfiles
8689
uses: actions/upload-artifact@v4
87-
if: always()
90+
if: always() && matrix.env.URSIM_VERSION != '10.7.0'
8891
with:
8992
name: ${{matrix.env.ROBOT_MODEL}}_${{matrix.env.URSIM_VERSION}}_URSim_Logs
9093
path: ursim_logs
9194
if-no-files-found: error
9295
retention-days: 10
9396
- name: Upload test artifacts
9497
uses: actions/upload-artifact@v4
95-
if: always()
98+
if: always() && matrix.env.URSIM_VERSION != '10.7.0'
9699
with:
97100
name: ${{matrix.env.ROBOT_MODEL}}_${{matrix.env.URSIM_VERSION}}_test_artifacts
98101
path: test_artifacts

examples/dashboard_example.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,12 @@
3333
#include <ur_client_library/log.h>
3434
#include <ur_client_library/ur/dashboard_client.h>
3535

36+
#include <iostream>
3637
#include <memory>
38+
#include <sstream>
3739
#include <thread>
40+
#include "ur_client_library/comm/pipeline.h"
41+
#include "ur_client_library/primary/primary_client.h"
3842

3943
using namespace urcl;
4044

@@ -55,6 +59,18 @@ int main(int argc, char* argv[])
5559
robot_ip = std::string(argv[1]);
5660
}
5761

62+
urcl::comm::INotifier notifier;
63+
urcl::primary_interface::PrimaryClient primary_client(robot_ip, notifier);
64+
primary_client.start();
65+
auto version_information = primary_client.getRobotVersion();
66+
if (version_information->major >= 10)
67+
{
68+
std::stringstream ss;
69+
ss << "Robot has version " << *version_information << ". This example is not compatible with PolyScope X";
70+
URCL_LOG_ERROR(ss.str().c_str());
71+
return 0;
72+
}
73+
5874
// Connect to the robot Dashboard Server
5975
auto my_dashboard = std::make_unique<DashboardClient>(robot_ip);
6076
if (!my_dashboard->connect())

0 commit comments

Comments
 (0)