Skip to content

Commit

Permalink
Integrate Zenoh uTransport into Rust TA
Browse files Browse the repository at this point in the history
* Add support for changing transport between socket and zenoh in Rust TA
* Add support for zenoh in feature files
* Add running zenoh transport tests in workflow
  • Loading branch information
matthewd0123 committed May 15, 2024
1 parent c15d274 commit 329b002
Show file tree
Hide file tree
Showing 17 changed files with 2,281 additions and 108 deletions.
62 changes: 44 additions & 18 deletions .github/workflows/tck-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ jobs:
const feature_file_list = [];
const fs = require('fs');
const path = require('path');
const subProcess = require('child_process')
function traverseDir(dir) {
fs.readdirSync(dir).forEach(file => {
Expand All @@ -78,26 +79,51 @@ jobs:
traverseDir("./test_manager/features/tests");
fs.writeFileSync('./test_manager/feature_file_list.json', JSON.stringify(feature_file_list));
- name: TCK Behave Tests
run: |
pwd
ls -l
cd test_manager
# Read JSON file content
content=$(<./feature_file_list.json)
var feature_json = JSON.parse(fs.readFileSync('./test_manager/testData/workflow_test_data.json', 'utf8'));
for(var feature_file_name in feature_json){
for (var language in feature_json[feature_file_name]["ues"]){
for (var transport in feature_json[feature_file_name]["transports"]){
core.info(feature_json[feature_file_name]["ues"])
core.info(feature_json[feature_file_name]["ues"][language])
var port_language = feature_json[feature_file_name]["ues"][language]
core.info(language)
var command_str = "behave --define uE1=" + port_language + " --define transport=" + transport + " --format json --outfile './reports/" + feature_file_name + "_" + port_language + ".json' --format html --outfile './reports/" + feature_file_name + "_" + port_language + ".html' 'features/tests/" + feature_json[feature_file_name]["path"] + "/" + feature_file_name + ".feature'"
subProcess.exec(command_str, {cwd: 'test_manager'}, (err, stdout, stderr) => {
if (err) {
console.error(err)
process.exit(1)
} else {
console.log(`The stdout Buffer from shell: ${stdout.toString()}`)
console.log(`The stderr Buffer from shell: ${stderr.toString()}`)
}
})
}
}
}
# - name: TCK Behave Tests
# run: |
# pwd
# ls -l
# cd test_manager
# # Read JSON file content
# content=$(<./feature_file_list.json)

# Loop through each JSON object
echo "$content" | jq -c '.[]' | while IFS='' read -r obj; do
# Extract filename and full path from the current JSON object
filename=$(echo "$obj" | jq -r '.filename')
full_path=$(echo "$obj" | jq -r '.path')
# # Loop through each JSON object
# echo "$content" | jq -c '.[]' | while IFS='' read -r obj; do
# # Extract filename and full path from the current JSON object
# filename=$(echo "$obj" | jq -r '.filename')
# full_path=$(echo "$obj" | jq -r '.path')

# Run behave command
echo "Running Test: $filename"
behave --define uE1=python --define transport=socket --format json --outfile "./reports/${filename}_python.json" --format html --outfile "./reports/${filename}_python.html" "$full_path"
behave --define uE1=java --define transport=socket --format json --outfile "./reports/${filename}_java.json" --format html --outfile "./reports/${filename}_java.html" "$full_path"
echo "Finished Test: $filename"
done
# # Run behave command
# echo "Running Test: $filename"
# behave --define uE1=python --define transport=socket --format json --outfile "./reports/${filename}_python.json" --format html --outfile "./reports/${filename}_python.html" "$full_path"
# behave --define uE1=java --define transport=socket --format json --outfile "./reports/${filename}_java.json" --format html --outfile "./reports/${filename}_java.html" "$full_path"
# echo "Finished Test: $filename"
# done
# behave --define uE1=rust --define transport=zenoh --format json --outfile "./reports/register_and_send_zenoh.json" --format html --outfile "./reports/register_and_send_zenoh.html" "/up-tck/test_manager/features/tests/transport_rpc/register_and_send_zenoh.feature"
# behave --define uE1=rust --define transport=zenoh --format json --outfile "./reports/register_and_unregister_zenoh.json" --format html --outfile "./reports/register_and_unregister_zenoh.html" "/up-tck/test_manager/features/tests/transport_rpc/register_and_unregister_zenoh.feature"
- name: Get Behave Scripts
uses: actions/github-script@v6
with:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ MANIFEST
*.log.lck
*.log.1
*.html
*.json
**/jar_files/**
*.jar
**/.DS_Store
Expand Down
Loading

0 comments on commit 329b002

Please sign in to comment.