Skip to content

Commit d22d959

Browse files
authored
Merge pull request #750 from ckormanyos/repair_ci
Repair CI and retry qemu run
2 parents 29944a0 + 190489e commit d22d959

2 files changed

Lines changed: 24 additions & 35 deletions

File tree

.github/workflows/real-time-cpp-benchmarks.yml

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -359,23 +359,21 @@ jobs:
359359
arm-none-eabi-objcopy ./bin/app_benchmark_std_big_int.elf -O ihex ./bin/app_benchmark_std_big_int.hex
360360
ls -la ./bin/app_benchmark_std_big_int.elf ./bin/app_benchmark_std_big_int.hex ./bin/app_benchmark_std_big_int.map
361361
working-directory: ./ref_app/
362-
363-
# For some reason the run fails. So let's just build the std-big-int app and check the build results.
364-
# - name: emulate-target stm32f429
365-
# run: |
366-
# PATH="${{ runner.workspace }}/real-time-cpp/ref_app/emu_env/xpack-qemu-arm-8.2.6-1/bin:$PATH"
367-
# qemu-system-gnuarmeclipse --verbose --mcu STM32F429ZI --nographic --gdb tcp::9999 -d unimp,guest_errors &
368-
# sleep 2
369-
# working-directory: ./ref_app/
370-
# - name: run-test-on-target
371-
# run: |
372-
# sleep 2
373-
# PATH="${{ runner.workspace }}/real-time-cpp/ref_app/emu_env/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin:$PATH"
374-
# echo 'Run test on target'
375-
# echo
376-
# arm-none-eabi-gdb ./bin/app_benchmark_std_big_int.elf -x ./target/build/test_app_benchmarks_emulator.gdb > ./app_benchmark_std_big_int.txt
377-
# cat ./app_benchmark_std_big_int.txt
378-
# echo
379-
# echo 'We will now grep for the right answer...'
380-
# grep 'value 0xF00DCAFE' ./app_benchmark_std_big_int.txt
381-
# working-directory: ./ref_app/
362+
- name: emulate-target stm32f429
363+
run: |
364+
PATH="${{ runner.workspace }}/real-time-cpp/ref_app/emu_env/xpack-qemu-arm-8.2.6-1/bin:$PATH"
365+
qemu-system-gnuarmeclipse --verbose --mcu STM32F429ZI --nographic --gdb tcp::9999 -d unimp,guest_errors &
366+
sleep 2
367+
working-directory: ./ref_app/
368+
- name: run-test-on-target
369+
run: |
370+
sleep 2
371+
PATH="${{ runner.workspace }}/real-time-cpp/ref_app/emu_env/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin:$PATH"
372+
echo 'Run test on target'
373+
echo
374+
arm-none-eabi-gdb ./bin/app_benchmark_std_big_int.elf -x ./target/build/test_app_benchmarks_emulator.gdb > ./app_benchmark_std_big_int.txt
375+
cat ./app_benchmark_std_big_int.txt
376+
echo
377+
echo 'We will now grep for the right answer...'
378+
grep 'value 0xF00DCAFE' ./app_benchmark_std_big_int.txt
379+
working-directory: ./ref_app/

ref_app/src/app/benchmark/app_benchmark_std_big_int.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
#include <util/memory/util_ring_allocator.h>
1313

14-
#include <beman/big_int/big_int.hpp> // This includes the entire std-big-int library
14+
#include <beman/big_int/big_int.hpp>
15+
#include <beman/big_int/literals.hpp>
1516

1617
#include <algorithm>
1718
#include <cstdint>
@@ -27,21 +28,11 @@ static auto do_one_test() -> bool
2728

2829
using wi_result_type = wi_type;
2930

30-
wi_type wi_val_a {};
31-
wi_type wi_val_b {};
32-
wi_result_type wi_val_ctrl {};
31+
using namespace beman::big_int::literals;
3332

34-
constexpr const char str_a[] = "fee6f3060ed3f90fdd79fe414418f8d9dc08bbe4470b658ca8f167fc3ce48821a79f8f9df51d795cbb88cb6e3a5e5f46b56f06991d6a929784b414c0bff17ca7eef9ab0e4d469093c548018d66a349beda36a4afdeb9d329d4119e93fa436a2b8417c3b2af701dde827e01e608c3ddfedfdc7fd7052fda87efb34d8321f3941482bc74e109ebdff9aebc9585de04ab47afb41ccbda18d806eb3d87ed7b1c0f03954ef98f08432db8f86e4ebceb292c53ac83f9738f8cd88da17384cdfb31d25bf6e030571d52ac43a7c646dee1fc0a8d827d73917b3c5f84dc7d1515a0c9a1bef3dc7f9d8caed3b3db7c869e262860a4e008c12d5f3da2c733c0f55168a30be2";
35-
constexpr const char str_b[] = "d7f1c5ebfe9108ab8900f3d1af36367cce3e92121acb9b60e352e5d622525715d0203ddd77d9ab308709777b225948c3e61542010fe75974ddb38cc38a11fa65bee2a6f171fe7ee4e52d81569bfcb886f972bd4655b6388bc7c8982f6e6a31efc21f8579394b5e629c15c367ee6eda6091dcb0f8aea6daa69f9c7059e585fc92a28c16d16183b8b0edf460b9741b712a9aaaf9d557ae4a7ef5cead986e9c414988b5fc43d78d8f7fbbc7f6cfd7e08bf8f87ce6f865b9ad1fcf4b00f42939349398c4a2928c21959ff6105665de3d95be8afc9fe9fb33d6afb95948e9778328fdd7172c70431479229cae5a47463f832b9ca2a39f36963f3ec1dc39fe6a3bffbc";
36-
constexpr const char str_ctrl[] = "d704b29793a64a44339b92e4f202801cae2ca252f899cf36ae3735c98505f4c16a7a6a159e54e8927d4ec95defd8ec04afcc0043bdab50dfc763b376549ab90df60d476bd5b26c3f5b2378656fe307f7da459b62924efa9f6d408484a44a88265515b04f1d75351ba7e6436cdf6d67a87c82dbacb02f782f1601feb974d10367e275561904466d31daf817f350752636455bf7f6f86f21268bf173182e430fdeb80fbc96daf032ec381f761476b8bf2cc33d6ec7d67d96eb69fef2bce4c715e4d676b8c2066afa83f10243273f5c65b427e71eaee89d285f39692e757cb6b86a085e7869ef85c05155328130e37163b8addb3410ccd9fde92fcc5e8a9b3336113440f34e3ace928c98de63d02c0caa1c160cfb8ccf46d48bdf9ebd24f5611582d92cf787e02198e7bebc83bd9eae8bd63c5b74573a2923146d05e92211baecb7fb4d7408d31cdccdfdeca05c0c4085775a510f4bed924ebd69e6c4e34c3c6ecb3de0ff2187affe6bffaa1d73df44d730668318922a3077232dab4575a64e8a7958301ce2e341a146f758fc51d7e25298545a6b277b1a9cd9ea72def76d7c05ea5a17ba501050106ff8042f0ffea4c97193b0b8ad138e315d7cd09179d55782534c96b32f21d808e0764b3a341ccc1c20543da2ef9620a5c877fa330bfc43556ddf8069c3fa04e3081b699b8673346f82d112c49bf17fa7c52cc9fbbe91a8d7f8";
37-
38-
const auto fc_result_a{ from_chars(str_a, str_a + std::strlen(str_a), wi_val_a, 16) };
39-
const auto fc_result_b{ from_chars(str_b, str_b + std::strlen(str_b), wi_val_b, 16) };
40-
const auto fc_result_ctrl{ from_chars(str_ctrl, str_ctrl + std::strlen(str_ctrl), wi_val_ctrl, 16) };
41-
42-
static_cast<void>(fc_result_a);
43-
static_cast<void>(fc_result_b);
44-
static_cast<void>(fc_result_ctrl);
33+
const wi_type wi_val_a { 0xfee6f3060ed3f90fdd79fe414418f8d9dc08bbe4470b658ca8f167fc3ce48821a79f8f9df51d795cbb88cb6e3a5e5f46b56f06991d6a929784b414c0bff17ca7eef9ab0e4d469093c548018d66a349beda36a4afdeb9d329d4119e93fa436a2b8417c3b2af701dde827e01e608c3ddfedfdc7fd7052fda87efb34d8321f3941482bc74e109ebdff9aebc9585de04ab47afb41ccbda18d806eb3d87ed7b1c0f03954ef98f08432db8f86e4ebceb292c53ac83f9738f8cd88da17384cdfb31d25bf6e030571d52ac43a7c646dee1fc0a8d827d73917b3c5f84dc7d1515a0c9a1bef3dc7f9d8caed3b3db7c869e262860a4e008c12d5f3da2c733c0f55168a30be2_n };
34+
const wi_type wi_val_b { 0xd7f1c5ebfe9108ab8900f3d1af36367cce3e92121acb9b60e352e5d622525715d0203ddd77d9ab308709777b225948c3e61542010fe75974ddb38cc38a11fa65bee2a6f171fe7ee4e52d81569bfcb886f972bd4655b6388bc7c8982f6e6a31efc21f8579394b5e629c15c367ee6eda6091dcb0f8aea6daa69f9c7059e585fc92a28c16d16183b8b0edf460b9741b712a9aaaf9d557ae4a7ef5cead986e9c414988b5fc43d78d8f7fbbc7f6cfd7e08bf8f87ce6f865b9ad1fcf4b00f42939349398c4a2928c21959ff6105665de3d95be8afc9fe9fb33d6afb95948e9778328fdd7172c70431479229cae5a47463f832b9ca2a39f36963f3ec1dc39fe6a3bffbc_n };
35+
const wi_result_type wi_val_ctrl { 0xd704b29793a64a44339b92e4f202801cae2ca252f899cf36ae3735c98505f4c16a7a6a159e54e8927d4ec95defd8ec04afcc0043bdab50dfc763b376549ab90df60d476bd5b26c3f5b2378656fe307f7da459b62924efa9f6d408484a44a88265515b04f1d75351ba7e6436cdf6d67a87c82dbacb02f782f1601feb974d10367e275561904466d31daf817f350752636455bf7f6f86f21268bf173182e430fdeb80fbc96daf032ec381f761476b8bf2cc33d6ec7d67d96eb69fef2bce4c715e4d676b8c2066afa83f10243273f5c65b427e71eaee89d285f39692e757cb6b86a085e7869ef85c05155328130e37163b8addb3410ccd9fde92fcc5e8a9b3336113440f34e3ace928c98de63d02c0caa1c160cfb8ccf46d48bdf9ebd24f5611582d92cf787e02198e7bebc83bd9eae8bd63c5b74573a2923146d05e92211baecb7fb4d7408d31cdccdfdeca05c0c4085775a510f4bed924ebd69e6c4e34c3c6ecb3de0ff2187affe6bffaa1d73df44d730668318922a3077232dab4575a64e8a7958301ce2e341a146f758fc51d7e25298545a6b277b1a9cd9ea72def76d7c05ea5a17ba501050106ff8042f0ffea4c97193b0b8ad138e315d7cd09179d55782534c96b32f21d808e0764b3a341ccc1c20543da2ef9620a5c877fa330bfc43556ddf8069c3fa04e3081b699b8673346f82d112c49bf17fa7c52cc9fbbe91a8d7f8_n };
4536

4637
const wi_result_type wi_val_c { wi_val_a * wi_val_b };
4738

0 commit comments

Comments
 (0)